1
我想創建一個默認禁用的JMenuItem,但可以調用一個方法來啓用它。就在我測試我的代碼的同時,我希望在單擊另一個菜單項時調用該方法。我看了一下JMenuItem的文檔,但是我對Java很新,而且我很難找到我需要的東西。我試過使用updateUI()命令,但我沒有工作,所以我完全卡住了。在此先感謝您的幫助:)通過ActionListener更新JMenuItem
這是我到目前爲止有:
public class initialScreen extends JFrame implements ActionListener{
Dimension screenSize = new Dimension(800,600);
JMenuItem runE, newP;
public initialScreen(){
super("Experiment Control Suite");
setSize(screenSize);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar bar = new JMenuBar();
JMenuItem newP = new JMenuItem("New");
newP.addActionListener(this);
runE = new JMenuItem("Run");
runE.setEnabled(false);
runE.addActionListener(this);
JMenu exp = new JMenu("Experiment");
exp.add(runE);
JMenu par = new JMenu("Participant");
par.add(newP);
bar.add(exp);
bar.add(par);
setJMenuBar(bar);
setVisible(true);
}
public void enableRun(){
runE.setEnabled(true);
runE.updateUI();
}
public void actionPerformed(java.awt.event.ActionEvent e){
if(e.getSource() == newP) {
enableRun();
}
else if(e.getSource() == runE) {
System.out.println("run has been clicked");
}
}
}
啊哈!很高興這是一個愚蠢的錯誤,而不是根本的誤解!謝謝:) – thisisnic 2012-01-10 15:17:41
爲基本的東西+1 – mKorbel 2012-01-10 15:20:52