从另一个方法运行方法 - Java

时间:2018-02-05 03:58:47

标签: java netbeans tooltip

我想在计时器用完时在工具栏中显示一条消息。 这是我的代码:

private void startJButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                     

        Timer oneHour = new Timer(3600000, //RunTheActionPerformedShownBelow);

} 

public void ReminderTrayIco() {

item3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent evt) {
            trayIcon.displayMessage("Title", "Message", TrayIcon.MessageType.ERROR);
        }
    });
}

我想要完成的是在计时器达到0时运行'item2.addActionListener'下的代码。我觉得好像有一个非常简单的解决方案就在我的鼻子底下,但我不能想办法。 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

首先编写一个执行所需操作的自定义ActionListener类...

public class TrayMessageActionListener implements ActionListener {
    private TrayIcon trayIcon;

    public TrayMessageActionListener(TrayIcon trayIcon) {
        this.trayIcon = trayIcon;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        trayIcon.displayMessage("Title", "Message", TrayIcon.MessageType.ERROR);
    }

}

现在您可以将其与item3 ...

一起使用
item3.addActionListener(new TrayMessageActionListener(trayIcon));

和计时器......

Timer oneHour = new Timer(3600000, new TrayMessageActionListener(trayIcon));
oneHour.setRepeats(false);

这显然意味着item3Timer代码在创建时都需要访问同一个TrayIcon实例