我有一个窗体 里面有一个JDesktopPane,然后可以通过菜单来生成添加很多InternalFrame,由于InternalFrame多了会很乱,我想通过JDesktopPane管理,使得InternalFrame永远只能只有一个激活,如果单击菜单显示新的InternalFrame时,会自动关闭原来的InternalFrame,这该怎么实现,有高手会么
解决方案 »
- 初学者问题··static boolean won[] = new boolean[1 << 9];
- java中在什么时候可以设置线程优先级?
- 我做了个编译原理分析器,出现一个怪问题,高手请进来帮帮我解决!!!!!
- 关于截取字符串的面试题
- process = Runtime.getRuntime().exec( "cmd /c set user" );//cmd后面这个 /c 代表什么意思?
- 打包后MANIFEST.MF中的mainifest是什么意思?
- 请帮忙。
- java 连接 数据库access 错误,高手请止步~~~~~~~~
- 急急...送分。。关于JSP的错误:java.lang.StringIndexOutOfBoundsException: String index out of range: -1??
- 简单的问题!
- 杨辉三角编译通过但是!!
- 静态字段的一个问题,请大家帮我分析个源码
你试一下,应该可以的。
针对你的问题我还有一种方案,就是第一次菜单动作的时候插入一个InternalFrame,以后如果判断到已经有一个InternalFrame实例了,就不继续生成InternalFrame,而是生成一个JPanel替换InternalFrame实例上的panel,这样也可以解决你的问题。
/**
* ?里一定要用"theDesktop.getAllFrames().length-1",
* 否?数?越界!
*/
for (int i = 1; i <= theDesktop.getAllFrames().length - 1; i++) {
/**
* ?里一定要用"I-1",使最新的窗口出?!原来窗口?藏
*/
theDesktop.getAllFrames()[i - 1].setVisible(false); } } }