窗体控件JFrame的使用
---------------siwuxie095
工程名:TestUI
包名:com.siwuxie095.ui
类名:MyFrame.java
工程结构目录如下:
在 Source 界面和 Design 界面,双击类名 MyFrame.java
或 使用快捷键 Ctrl+M,可以将当前的工作区放大
「Ctrl+M 是将光标焦点所在的视图窗口最大化」
在窗体 JFrame 中包含了一个根面板 contentPane(内容面板) ,
所有的控件(组件)元素都将被放置在根面板 contentPane 当中,
JFrame 是当前窗体的顶级元素
JFrame 作为窗体的基本属性:
缩放大小、最小化、最大化/向下还原、关闭、标题
所有的属性都是可以通过代码来控制的
在属性面板中,点击 Show events 按钮,查看当前元素所具有的事件
在属性面板中,点击 Goto definition 按钮,跳转到元素的定义区域
向根面板 contentPane 添加一个 JButton,则:
在属性面板中,点击 Convert local to field 按钮,将声明转移到类中
(此操作可逆,点击后,按钮变为 Convert field to local)
「JFrame 并没有这个选项,contentPane 和 其他的控件(组件)才有」
当某个元素不再被需要,可以点击该元素,右键->Delete,
或 点击上方的 Delete 按钮,将它删除
「注意:JFrame 和 contentPane 不可以删除,
否则添加元素时会出现 <Unknown position>」
如:删除刚才添加的 JButton
(1)选中这个按钮
或
(2)删除这个按钮
或
在属性面板中,点击 Show advanced properties 按钮,
显示当前元素的高级设定(属性)
打开后,会出现很多之前隐藏的选项,一般情况下,这些选项
都不会被用到
窗体元素 JFrame 的属性:
Class:
说明是继承自 javax.swing.JFrame 类。一般情况下,这个值不可以被改动
alwaysOnTop:
让窗体一直浮于顶端,或 让窗体最前显示
autoRequestFocus:
当窗体被创建时,当前窗体会自动获取屏幕焦点
background:
当前窗体的背景。如果将之改为红色,发现没有变化,这是因为
当前窗体的显示区域是被内容面板 contentPane 所占据的,真正
的窗体的背景就被内容面板挡住,所以要设置当前 "窗体" 的背景,
可以在 contentPane 中进行设定
defaultCloseOperation:
定义了单击关闭按钮时程序所执行的动作
(1)DO_NOTHING_ON_CLOSE:在点击关闭时不执行任何操作
(2)HIDE_ON_CLOSE:在点击关闭时将当前窗体隐藏,但并没有被销毁,可随时再次显示
(3)DISPOSE_ON_CLOSE:在点击关闭时将当前窗体销毁,但程序并不会退出
(4)EXIT_ON_CLOSE:在点击关闭时退出程序
enabled:
默认为 true,当为 false 时,最小化、最大化/向下还原、关闭
三个按钮全部失效,不能被点击
opacity:
定义当前窗体的透明度,这是一个浮点类型的值,默认为 1.0,
即 当前窗体完全不透明。如果改为 0.8,运行程序,会报错:
The frame is decorated。即这个窗体带有了系统自带的窗体
装饰,可以到 高级属性 中将之设定为 undecorated,不使用
系统自带的窗体装饰,透明度才可以被改变。一旦将窗体设定
为 undecorated,系统自带的 最小化 等功能将不再可以使用,
因为这三个按钮已经消失,需要自己在界面中添加控件(组件)
来实现 最小化 等功能
resizable:
当为 true 时,窗体可以缩放大小,当为 false 时,窗体的大小
被固定,最大化/向下还原 失效,不能被点击
title:
定义窗体标题
type:
决定窗体在系统中被渲染的模式
(1)NORMAL:正常样式
(2)UTILITY:工具样式
(3)POPUP:弹窗样式
【made by siwuxie095】
posted on 2017-04-02 23:06 siwuxie095 阅读(2579) 评论(0) 编辑 收藏 举报