作者risker760915 (Risker)
看板java
标题Re: [问题] JInternalFrame怎麽让它开启时自动被选取
时间Sat Dec 10 22:10:00 2011
搞了老半天终於解决了,不过这问题老实说我还在思考原因,解决方法很简单,简单到我觉
很不可思议,不过中间的机制我还要再多多学习...以下一些解说及解决方法:
首先,我原本的结构是一个MainJFrame用来放置JMenuBar & JDesktopPane这两个东西,
而其中的JDesktopPane则是用来放置所有的JInternalFrame(废话@@),我原本的做法是
在JDesktopPane里面的JInternalFrame再new另外一个不同的JInternalFrame,结果就是
後来new出来的JInternalFrame对於setSelected()和activateFrame()都没反应,刚刚乎
然想到会不会是因为new的方法或者位置不对所造成的,之後再回头看我原本new的方法,
发现我都是直接JDesktopPane.add(new JInternalFrame()),物件被直接new出来,却没有
一个variable去reference这个JInternalFrame,进而变成这个JInternalFrame出生了、
露脸了,但我根本不知道他在哪(看的到却摸不到),老实说,看到这边我忽然觉得我的物件
的观念超级大漏洞...
解决方法很简单,在MainJFrame里面宣告一个variable(不用给值),之後在原本new出
JInternalFrame的地方把物件reference给这个variable,之後其他原本会发生问题的
动作就可以正常运作了!!!
------------------------------------------------------------------------------
解决之後真的觉得是很白痴的问题,脑袋有洞啊我~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.35.191