Netbeans Jinternalframe单个实例
我用NetBean开发了一个应用程序 1) 我正在用JavaAPI6做一个项目。我正在使用“NetBeans 7.1”。 2) 我想在我的项目中使用Netbeans Jinternalframe单个实例,netbeans,jinternalframe,Netbeans,Jinternalframe,我用NetBean开发了一个应用程序 1) 我正在用JavaAPI6做一个项目。我正在使用“NetBeans 7.1”。 2) 我想在我的项目中使用JInternalFrame 3) 我做了另一个包,在那里做了“JInternalFrame”。然后在我的主应用程序窗口中通过在“JMenuItem”上触发ActionPerformed事件来调用它。 4) 它工作得很好,但只有一个问题发生了,那就是,如果我一次又一次地点击“JMenuItem”,同一个实例的新“JInternalFrame”正在打开
JInternalFrame
3) 我做了另一个包,在那里做了“JInternalFrame”。然后在我的主应用程序窗口中通过在“JMenuItem”上触发ActionPerformed事件来调用它。
4) 它工作得很好,但只有一个问题发生了,那就是,如果我一次又一次地点击“JMenuItem”,同一个实例的新“JInternalFrame”正在打开,我如何才能阻止它?
5) 我想,如果我打开“JInternalFrame”一次,然后再次单击“JMenuItem”打开同一个“JInternalFrame”,它应该什么也不做,或者它显示已经打开并最小化的窗口
示例代码:
<code>
private void empDataActionPerformed(java.awt.event.ActionEvent evt) {
Emps employees = new Emps();
desktop.add(employees);
employees.setVisible(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
employees.setBounds(230, 40, screenSize.width / 2 - 80, screenSize.height / 2 + 105);
}
<code>
求你了,我需要帮助 下面是示例代码。希望这有帮助。 调用主应用程序中JdesktopPane所在的内部框架的菜单操作
private void YourJinternalFrameMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
YourJinternalFrame nw = YourJinternalFrame.getInstance();
nw.pack();
//usefull part for you.. if open shows, if not creates new one
if (nw.isVisible()) {
} else {
desktopPane.add(nw);
nw.setVisible(true);
}
try {
nw.setMaximum(true);
} catch (PropertyVetoException ex) {
Logger.getLogger(MainApplication.class.getName()).log(Level.SEVERE, null, ex);
}
}
把这个放在你的JinternalFrame里
private static YourJinternalFrame myInstance;
public static YourJinternalFrame getInstance() {
if (myInstance == null) {
myInstance = new YourJinternalFrame();
}
return myInstance;