Я только начал использовать Java Swing, и у меня возникла проблема.
Я попытался сделать простую строку меню и пункт меню «Выход», но перед тем, как связать кнопку с действием, появился элемент меню, теперь, когда я связал кнопку с действием System.exit (0), оно исчезло. Помогите?
Код следующий:
in MainPanel (автогенерируемый код из свинга исключен):
public void init() {
initComponents();
initActions();
setLocationRelativeTo(null);
pack();
setVisible(true);
}
private void initActions() {
this.menuItemExit.setAction(Application.getInstance().getPanelControl().getActionExit());
}
In PanelControl :
public class PanelControl {
private Action actionExit;
public Action getActionExit() {
return actionExit;
}
public class ActionExit extends AbstractAction{
public ActionExit(){
putValue(Action.NAME, "Exit");
putValue(Action.SHORT_DESCRIPTION, "Exit from the application");
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("ctrl e"));
putValue(Action.MNEMONIC_KEY, KeyEvent.VK_E);
}
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
В Приложение :
private void init() {
viewMainPanel = new MainPanel();
controlPanel = new ControlPanel();
viewMainPanel.init();
}
Я думаю, что проблема где-то здесь, но я не могу понять, где. любая помощь?
(есть другой код, но я просто поместил более релевантную часть, также я перевел код с итальянского, поэтому извините, если есть какие-либо проблемы или несколько имен не совпадают)