繁体   English   中英

JButton 没有响应

[英]JButton not responding

嗨,我是 Java 的新手,现在我正在排除其他人的代码,因为按钮没有响应。 单击 UI 时没有任何反应。

我非常感谢您对此的帮助。 (添加一些词,因为 stackoverflow 告诉我看起来您的帖子主要是代码;请添加更多详细信息。)

这是代码:

private JButton printAddressButton;
String p_link = http://www.google.com/images/logo_google_suggest.gif;
String printer_keyword = "DYMO";


private void jbInit() throws Exception {
    getContentPane().setLayout(null);
    setSize(100, 35);
    printAddressButton.setText("Print Here");
    printAddressButton.setBounds(new Rectangle(0, 0, 30, 30));
    printAddressButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            printAddressButton_actionPerformed(e);
        }
    });
    getContentPane().add(printAddressButton, null);
}

private void printAddressButton_actionPerformed(ActionEvent e) {
    print_address(p_link);
}

public void print_address(String link) {
    try {
        System.out.println("Servlet URL: " + link + ", Printer Keyword: " + printer_keyword);
        PrintService services[] = PrintServiceLookup.lookupPrintServices(null, null);
        System.out.println("Number of printers: " + services.length);
        for (int i = 0; i < services.length; i++) {
            System.out.println(services[i].getName());
            PrintService myprinter = services[i];
            if (services[i].getName().indexOf(printer_keyword) >= 0) {
                System.out.println("Found " + printer_keyword + " printer: " + services[i]);
                DocPrintJob print_job = myprinter.createPrintJob();
                URL url = new URL(link);
                DocFlavor flavor = "GET".equalsIgnoreCase(method) ?
                                    javax.print.DocFlavor.URL.PNG:
                                    javax.print.DocFlavor.INPUT_STREAM.PNG;
                DocAttributeSet doc_attrs = new HashDocAttributeSet();
                doc_attrs.add(OrientationRequested.LANDSCAPE);
                SimpleDoc doc = "GET".equalsIgnoreCase(method) ?
                                new SimpleDoc(url, flavor, doc_attrs) :
                                new SimpleDoc(createHttpRequestWithPostMethod(url).getInputStream(), flavor, doc_attrs);
                PrintRequestAttributeSet print_attrs = new HashPrintRequestAttributeSet();
                print_attrs.add(new Copies(1));
                print_attrs.add(new MediaPrintableArea(20, 30, 56, 84, 1000));
                print_job.print(doc, print_attrs);
                System.out.println("finished printing");
                break;
            }
        }
    }
    catch(Throwable ex) {
        ex.printStackTrace();
    }
    finally {
    }
}

在你的行之后for (int i = 0; i < services.length; i++) { insert System.out.println("Looping " + i); 你会在控制台中看到它确实在运行,但它可能需要很长时间才能完成,看起来它似乎没有运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM