Я пытаюсь создать JMenuItem, который по умолчанию отключен, но метод можно вызвать, чтобы включить его. На данный момент, пока я тестирую свой код, я хочу, чтобы этот метод вызывался, когда я нажимаю на другой пункт меню. Я посмотрел документацию для JMenuItem, но я довольно новичок в Java, и мне трудно найти то, что мне нужно. Я пробовал использовать команду updateUI(), но я не работал, поэтому я полностью застрял. Заранее спасибо за любую помощь :)Обновление JMenuItem через ActionListener
Это то, что я до сих пор:
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");
}
}
}
Aha! Рад, что это была глупая ошибка, а не фундаментальное недоразумение! Спасибо :) – thisisnic
для основного материала +1 – mKorbel