单个JFrame上的工具栏不会更新,单身

时间:2017-05-31 18:44:25

标签: java swing

我有一个名为MainWindow的JFrame

public class MainWindow extends JFrame {

    private static MainWindow instance = null;

    public static MainWindow getInstance() {
        if (instance == null) {
            instance = new MainWindow();
            instance.init();
        }

        return instance;
    }
}

在init()方法中,我得到了menuPopulate()和toolbarPopulate()方法,我在这里添加了菜单项和工具栏项。我的MainWindow是单例,我也有一个名为“NewKeyPairPL”的menuItem,它的开头是setVisible(false)。 我正在尝试启用控制器中的菜单项

我的问题是当我想设置将NewKeyPairPL菜单项设置为setVisible(true)时。我是从控制器那里做的,而不是更新。这是我的代码:

MainWindow.getInstance().getNewKeyPairPL().setVisible(true);
MainWindow.getInstance().getNewKeyPairPL().repaint();
MainWindow.getInstance().getNewKeyPairPL().revalidate();

MainWindow.getInstance().getToolBar().repaint();
MainWindow.getInstance().getToolBar().revalidate();

MainWindow.getInstance().repaint();
MainWindow.getInstance().revalidate();

另外,如果我从MainWindow类中尝试这样的事情:

btn1.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {

        newKeyPairPL.setEnabled(true);
    }

});

(btn1是我工具栏中的一个按钮)

它正在运作,但这不是我需要的。

0 个答案:

没有答案