我正在用java创建我的第一个程序(在Netbeans中),它基本上是一个带有弹出菜单的SystemTray图标,每个项目都有不同的功能。在下面的项目中,我希望在保存图像之后使用“displayMessage”而不是“showMessageDialog”。我试过trayIcon.displayMessage("Message", "message", TrayIcon.MessageType.INFO);
但它不起作用,我不知道为什么,你有什么想法吗?
item5.addActionListener(new ActionListener () {
@Override
public void actionPerformed(ActionEvent e) {
BufferedImage image = null;
try {
Thread.currentThread().sleep(500);
} catch (InterruptedException ex) {
Logger.getLogger(SupTray.class.getName()).log(Level.SEVERE, null, ex);
}
try {
image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
} catch (AWTException ex) {
Logger.getLogger(SupTray.class.getName()).log(Level.SEVERE, null, ex);
}
try {
SimpleDateFormat formatter = new SimpleDateFormat("ddMMyyyy_HH.mm.ss");
Calendar now = Calendar.getInstance();
ImageIO.write(image, "png", new File(System.getProperty("user.home")+"\\Desktop\\"+formatter.format(now.getTime())+".png"));
} catch (IOException ex) {
Logger.getLogger(SupTray.class.getName()).log(Level.SEVERE, null, ex);
}
JOptionPane.showMessageDialog(null, "L'immagine è stata salvata nel desktop.", "Cattura schermata", JOptionPane.INFORMATION_MESSAGE);
}
});
答案 0 :(得分:0)
我不确定它在这种情况下是否有任何区别,但通常你应该指定对话框应该显示的组件(在JOptionPane.showMessageDialog中为null)。 我不久前有一些不必要的问题。