Java displayMessage而不是showMessageDialog
我正在用java(在Netbeans中)创建我的第一个程序,它基本上是一个带弹出菜单的SystemTray图标,每个项目都有不同的功能。在下面的项目中,我希望在保存图像后使用“displayMessage”而不是“showMessageDialog”。我试过Java displayMessage而不是showMessageDialog,java,netbeans,Java,Netbeans,我正在用java(在Netbeans中)创建我的第一个程序,它基本上是一个带弹出菜单的SystemTray图标,每个项目都有不同的功能。在下面的项目中,我希望在保存图像后使用“displayMessage”而不是“showMessageDialog”。我试过trayIcon.displayMessage(“Message”,“Message”,trayIcon.MessageType.INFO)
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);
}
});
我不确定它在这种情况下是否有任何区别,但一般来说,您应该指定对话框应该显示在哪个组件上(JOptionPane.showMessageDialog中为null)。
我有一些不必要的问题,不久前没有这样做