kooyee ‘s blog
开源软件, 众人努力的结晶, 全人类的共同财富
posts - 103, comments - 55, trackbacks - 0, articles - 66
::
首页
::
新随笔
::
联系
::
聚合
::
管理
Swing关闭和打开frame
Posted on 2008-02-23 23:30
kooyee
阅读(1712)
评论(1)
编辑
收藏
所属分类:
Swing/Applet
1。
close frame
frame.dispose();
//
not fire INTERNAL_FRAME_CLOSING event, but fire INTERNAL_FRAME_CLOSED event
frame.setClosed(
true
);
//
fire INTERNAL_FRAME_CLOSING event and INTERNAL_FRAME_CLOSED event
open frame
jDesktopPane.remove(frame);
jDesktopPane.add(frame);
frame.show();
在添加frame之前必须先把旧的移出父容器, 解除和原来父容器的联系. 否则会导致
illegal component position. ( 由于覆盖了原先添加的位置,虽然是同一个object).
//
if frame not exist or closed
if
(frame
==
null
||
frame.isClosed())
{
frame
=
new
Frame();
jDesktopPane.remove(frame);
jDesktopPane.add(frame);
frame.setVisible(
true
);
}
//
if not create new frame object use following
//
if (!frame.isShowing()){
//
jDesktopPane.remove(frame);
//
jDesktopPane.add(frame);
//
frame.setVisible(true);
//
}
//
to active the frame
try
{
frame.setSelected(
true
);
}
catch
(Exception e)
{
e.printStackTrace();
}
2。
如果从frame的子容器中的button等去关闭frame,要用
JInternalFrame parent
=
(JInternalFrame)
this
.getRootPane().getParent();
//
得到frame
parent.dispose();
先得到子控件的顶窗格,rootPane的parent才是上层的frame控件。 如果直接用this.getParent()得到的只是包含这个控件的容器(JPanel等)。
3。
通过Matisse在一个class中添加多个frames, eclipse中在design view状态下右键outline 中Other Components去添加其他控件,包括internal frame。
4。
frame
isClosed() 验证是否关闭,没建立frame实例是,return false。 当建立实例后,frame显示则return false,frame dispose后return true
isShowing() 验证是否显示,不再desktop或其他container中显示,这return false。
激活active a frame 使用:
setSelected(true)
评论
#
re: Swing关闭和打开frame
回复
更多评论
2008-07-18 10:23 by
游客
谢谢`` 找了很多,就这个派上用场 帮我解决问题咯!
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
『Swing』 Applet等程序中取得Client Ip地址代码
【Swing】设置applet程序的界面外观
Applet中共享basecode
在Applet中读取,写入文件内容
【JTabbedPane】tab change事件
【ComboBox】改变选择时ItemStateChanged 触发两次
[Table] Swing Table 中使用 button
[Button] disable 后继续触发事件
[Text] 改变文字事件
[Mouse, Keyboard] mouse clicked与 mouse pressed, a key-pressed event, a key-typed event, and a key-released event 的区别
Powered by:
BlogJava
Copyright © kooyee
日历
<
2008年2月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
公告
一起畅游计算机的世界
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
AI 人工智能(1)
Ajax学习手记(2)
C/C++(1)
Database数据库技术(4)
Groovy on Grails(1)
GUI骨衣 (6)
J2EE(1)
Jasper Report (2)
Java (15)
Lniux/Unix (14)
Regular Expression正则表达式
Software(1)
Software Engineering 软件工程(2)
Swing/Applet(19)
Web Design网页设计 (4)
Web Framework 网络框架(1)
Windows (2)
Wireless Ad-hoc and sensor network(4)
开源 OpenSource(1)
随笔档案
2009年1月 (1)
2008年12月 (3)
2008年11月 (3)
2008年10月 (2)
2008年7月 (2)
2008年6月 (22)
2008年5月 (3)
2008年4月 (2)
2008年3月 (10)
2008年2月 (14)
2008年1月 (5)
2007年12月 (6)
2007年11月 (5)
2007年10月 (5)
2007年9月 (2)
2007年8月 (17)
搜索
积分与排名
积分 - 161460
排名 - 365
最新评论
1. re: SUM, COUNT 等在 jasper report 中使用方法
<javascript language="java"> alert("aaaa")</javascript>
--sd
2. re: 【Bug】当调用nam时错误
怎么重装ns-2.33
--雨中蝶
3. re: [SWT] SWT table中select item以及添加其他control(checkbox, button)
如果要加的CheckBox很多的话,会不会速度很慢呢?
--问路
4. re: [JAVA] 使用xsl来动态生成java代码
评论内容较长,点击标题查看
--cosplay
5. re: 『Java』java.lang.UnsupportedOperationException at java.util.AbstractLis
api 的设计多此一举还搞个内部类
--冬天鸡鸡好冷
阅读排行榜
1. VB使用WebBrowser读取网页内容(12221)
2. 【Simulator】Cygwin下NS2安装和配置(3630)
3. 什么是*.ps文件(3570)
4. 『Java』java.lang.UnsupportedOperationException at java.util.AbstractLis(3544)
5. 【linux脚本】bad interpreter: No such file or directory(3369)