if (debugPrinterChange)
System.out.println("Thread invoked.");
PrintService[] ps = PrintServiceLookup.lookupPrintServices(null,null);
if (debugPrinterChange)
System.out.println("Found print services.");
PrintService p=null;
for (PrintService p1 : ps) {
if (debugPrinterChange)
System.out.println("checking " + p1.getName());
if (p1.getName().equals(printerName.getSelectedItem())) {
p = p1;
if (debugPrinterChange)
System.out.println("Match!");
}
}
if (p!=null) {
if (debugPrinterChange)
System.out.println("Getting available resolutions...");
resolution.setModel(new javax.swing.DefaultComboBoxModel(getAvailableResolutions(p)));
if (debugPrinterChange)
System.out.println("Getting default resolution...");
int resInd = getDefaultResolutionIndex();
if (resolution.getModel().getSize() > resInd)
resolution.setSelectedIndex(resInd);
resolution.setEnabled(true);
paperDefinitions.setPrintService(p);
if (debugPrinterChange)
System.out.println("Getting available paper sizes...");
pageSize.setModel(new javax.swing.DefaultComboBoxModel(getAvailablePaperSizes()));
if (debugPrinterChange)
System.out.println("Getting default pagesize...");
int pageInd = paperDefinitions.getDefaultPageIndex();
if (pageSize.getModel().getSize() > pageInd)
pageSize.setSelectedIndex(pageInd);
pageSize.setEnabled(true);
okButton.setEnabled(true);
if (debugPrinterChange)
System.out.println("Reenabled GUI");
}
if (debugPrinterChange)
System.out.println("Updating margins");
updateMargins();
}
};
if (debugPrinterChange)
System.out.println("Invoking update thread...");
SwingUtilities.invokeLater(t);
}
});
Thread t = new Thread() {
public void run() {
PrintService[] ps = PrintServiceLookup.lookupPrintServices(null,null);
PrintService p=null;
for (PrintService p1 : ps) {
if (p1.getName().equals(printerName.getSelectedItem()))
p = p1;
}