displayMessage instead of showMessageDialog



我在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);
        }
    });   

我不确定在这种情况下是否有任何区别,但通常您应该指定对话框应该显示在哪个组件上(JOptionPane.showMessageDialog中的null)。我有一些不必要的问题没有这样做前一段时间

相关内容

  • 没有找到相关文章