java - JButton 没有响应
问题描述
嗨,我是 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++) {
插入行后System.out.println("Looping " + i);
,您将在控制台中看到它实际运行,但可能需要很长时间才能完成,看起来它似乎没有运行。
推荐阅读
- swiftui - SwiftUI ScrollView 和对齐
- javascript - Ajax请求传递数据?
- facebook - Oracle Apex Facebook 登录:您的会话已过期?
- php - 使用 codeigniter4 或 codeigniter3 更新数据库 phpmyadmin
- javascript - 如何在每个部分的跨度中拆分和换行?
- javascript - 无法将 socket.io 设置为在 IPv4 中侦听
- python - 使用 TensorFlow 将 Tensor 转换为 NumPy 时遇到问题
- javascript - AppScript TypeError:无法读取未定义的属性“片段”
- angular - API 请求返回错误,试图从 Angular 前端访问 NestJS 后端
- sql-server - 在mvc5中基于chart.js动态制作inspinia图表?