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}