我有一个名为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是我工具栏中的一个按钮)
它正在运作,但这不是我需要的。