我试图制作一个菜单项,当我单击它时,它将使JInternalFrame可见。我创建了JDesktopPane并将JInternalFrame添加到其中。
JInternalFrame neworder_jif;
public MainFrame() {
Login login = new Login(this, true);
login.setVisible(true);
initComponents();
//NEW ORDER JIF
desk.add(neworder_jif = new NewOrder());
neworder_jif.pack();
neworder_jif.setVisible(true);
}
如您所见,使用此代码,内部框架正确显示,但是我希望它开始不可见,但是当我
neworder_jif.setVisible(false);
在构造函数上,并在单击鼠标时创建动作侦听器
private void new_order_menuMouseClicked(java.awt.event.MouseEvent evt) {
neworder_jif.setVisible(true);
}
它不起作用,我单击菜单项,但没有任何反应。
回答
对于那些在此代码中查找错误的人,我将解释如何修复该错误:将事件从使用NetBeans设计编辑器创建的MouseButtonClicked事件更改为MouseButtonReleased。
最佳答案
JMenuItem
对象可以具有动作侦听器:
JMenuItem item = new JMenuItem();
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
neworder_jif.setVisible(true);
}
});
关于java - 使用JMenuItem打开JInternalFrame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40450267/