001package jmri.jmrit.operations.trains; 002 003import javax.print.PrintService; 004import javax.print.PrintServiceLookup; 005import javax.swing.JComboBox; 006 007/** 008 * Train print utilities. 009 * 010 * @author Daniel Boudreau (C) 2025 011 */ 012public class TrainPrintUtilities { 013 014 public static JComboBox<String> getPrinterJComboBox() { 015 JComboBox<String> box = new JComboBox<>(); 016 PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); 017 for (PrintService printService : services) { 018 box.addItem(printService.getName()); 019 } 020 021 // Set to default printer 022 box.setSelectedItem(getDefaultPrinterName()); 023 024 return box; 025 } 026 027 public static String getDefaultPrinterName() { 028 if (PrintServiceLookup.lookupDefaultPrintService() != null) { 029 return PrintServiceLookup.lookupDefaultPrintService().getName(); 030 } 031 return ""; // no default printer specified 032 } 033}