While testing the following test program with Dymo Label Printer 330 Turbo, the program just exits without any print dialog or error message. Other printer drivers like laser printer drivers shows the dialog. It is not always reproducible. import java.util.Vector; import java.awt.print.*; import java.awt.*; import javax.swing.JPanel; public class DymoLabelPrinting{ public static void main(String args[]) { Vector vLabels = new Vector(); vLabels.add("Mr.TIGERWOODS"); vLabels.add("H NO 2-7, AMEERPET"); vLabels.add("HYDERABAD"); vLabels.add("ANDHRA PRADESH,INDIA"); PrintLabels printLabels = new PrintLabels(vLabels); printLabels.prepareLabels(); Thread labelPrintingThread=new Thread(printLabels); labelPrintingThread.start(); } } //------------------------------------------- class PrintLabels implements Runnable { Vector records; String strOrientation; PageFormat pageFormat; PrinterJob printJob; Page page ; public PrintLabels(Vector vector) { pageFormat = null; printJob = null; strOrientation = "Landscape"; records = vector; } public void run() { print(); } public void prepareLabels() { page = new Page(); page.addLabel(records); } public void print() { printJob = PrinterJob.getPrinterJob(); try { Paper paper = new Paper(); paper.setSize(165, 288); paper.setImageableArea(7, 0, 165, 288); pageFormat = printJob.defaultPage(); pageFormat.setPaper(paper); if(strOrientation.equals("Portrait")) pageFormat.setOrientation(pageFormat.PORTRAIT); else pageFormat.setOrientation(pageFormat.LANDSCAPE); printJob.setPrintable(page, pageFormat); if(printJob.printDialog()==false) return; printJob.print(); }catch(PrinterException e){ e.printStackTrace(); } } } ------------------------------------------------------
|