看,我这样做了:
我有一个带菜单栏的JPanel:
public class panelMenuBar {
JPanel panelMenuBar = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
JMenuBar menubar = new JMenuBar();
JMenu menuDistribuidor = new JMenu("Distribuidor");
JMenuItem menuDistribuidorDistribuir = new JMenuItem("Distribuir");
JMenuItem menuDistribuidorDeletar = new JMenuItem("Deletar");
JMenuItem menuDistribuidorAlterar = new JMenuItem("Alterar");
public JPanel montarPanelMenuBar() {
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0.1;
gbc.weighty = 0.1;
menubar.add(menuDistribuidor);
menuDistribuidor.add(menuDistribuidorDistribuir);
menuDistribuidor.add(menuDistribuidorAlterar);
menuDistribuidor.add(menuDistribuidorDeletar);
panelMenuBar.add(menubar,gbc);
return panelMenuBar;
}
}
之后我将PanelMenuBar添加到另一个类的另一个JPANEL中,但现在我需要为MenuItems添加Event以更改其他CLASSES CONTROLLS,这可能吗?
我在每节课中都做了一切,看看它是如何工作的,当然让代码更容易理解/阅读/修复
答案 0 :(得分:0)
如果您检查JMenuItem API,您会看到可以触发按键事件(使用fireMenuKeyPressed(MenuKeyEvent event)
)。此外,您可以在另一个类中为此事件添加一个侦听器(带addMenuKeyListener(MenuKeyListener l)
)。现在您只需要检查被激活的事件是否适合您。为此,您可以检查MenuKeyEvent提供的源。