我想实现在JDesktopPane里弹出子窗体JInternalFrame,但是要求不能弹出重复的子窗体,比如下面代码第一次点击“查询窗体”菜单按钮弹出一个查询窗体,再次点击“查询窗体”菜单按钮时...
我想实现在JDesktopPane里弹出子窗体JInternalFrame,但是要求不能弹出重复的子窗体,比如下面代码第一次点击“查询窗体”菜单按钮弹出一个查询窗体,再次点击“查询窗体”菜单按钮时就不让查询窗体弹出,要是点击别的按钮弹出别的窗体,以下是我的代码希望哪位高手请指教
import java.awt.event.*;
import javax.swing.*;
public class TestMDI extends JFrame implements ActionListener{
JDesktopPane desk;
public TestMDI(){
menu();
desk=new JDesktopPane();
add(desk);
setSize(600,600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void menu(){
JMenuBar jmb=new JMenuBar();
JMenu jm1=new JMenu("数据维护");
JMenuItem jm11=new JMenuItem("查询窗体");
JMenuItem jm12=new JMenuItem("编辑窗体");
jm1.add(jm11);
jm1.add(jm12);
jmb.add(jm1);
jm11.addActionListener(this);
jm12.addActionListener(this);
setJMenuBar(jmb);
}
public static void main(String[] args) {
new TestMDI();
}
public void actionPerformed(ActionEvent e) {
String s=e.getActionCommand();
JInternalFrame inner=new MyInternalFrame(s);
desk.add(inner);
inner.toFront();
inner.show();
}//想在此处实现效果
}
class MyInternalFrame extends JInternalFrame{
public MyInternalFrame(String title) {
super(title,true,true,true,true);
setSize(600,600);
setVisible(true);
}
}
我想要的效果是不能弹出重复同样的窗体
展开