窗体控件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】
窗体控件JFrame的使用的更多相关文章
- C# winform 跨线程更改窗体控件的属性
当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错. 若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法. 例如:添加一个名为textb ...
- winform窗体控件(全)
回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...
- (转)sl简单自定义win窗体控件
sl简单自定义win窗体控件 相信大家接触过不少win窗体控件ChildWin子窗口就的sl自带的一个 而且网上也有很多类似的控件,而今天我和大家分享下自己制作个win窗体控件,希望对初学 ...
- 如何:对 Windows 窗体控件进行线程安全调用
http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...
- C# 静态函数调用窗体控件
回调函数方法是静态函数,需要调用窗体控件,赋值或取值. 定义 public static Form1 mainFrm; mainFrm = this; public partial class F ...
- [原创]C#按比例缩放窗体控件及字体
按照比例缩放窗体控件及字体,如需等比例缩放,只需将x,y的比例设置成相同即可. 为了减小误差,建议使用原始尺寸来计算比例. private float X, Y; private bool b = f ...
- 用于列出选项的Windows窗体控件
可以提供选项列表的控件有ListBox.ComboBox.CheckedListBox,如何正确的使用和选择这些控件,下面对此进行讨论.首先对这三种控件的功能分别进行说明: ListBox ListB ...
- ASP.NET中 WebForm 窗体控件使用及总结【转】
原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/06/2944675.html ASP.NET中 WebForm 窗体控件使用及总结. 1.A, ...
- winform继承窗体,无法修改父窗体控件问题处理笔记
问题描述: 一个窗体集成父窗体,发现无法直接修改父窗体的控件,比如修改大小等,父窗体控件已经设置为public,如果做成一个dll被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...
随机推荐
- 使用JMeter建立接口测试
[需求]某组机器是Android和iOS输入法接口服务器,有很多重要的接口,例如:升级,网络开关,热词等.现在有3台机器过保要下线,新申请了3台机器,需要验证一下这3台机器接口的正确性. [测试步骤] ...
- wiredtiger引擎性能——比levelDB更牛叉!
WE'VE JOINED MONGODB! We're proud to announce that MongoDB has acquired WiredTiger, and we've join ...
- Android EditText输入光标居于开头最开始位置
如果欲使EditText加载后的输入光标自动处于最开始处,可以通过设置EditText的android:gravity实现,设置android:gravity为left或者start即可,可以设置: ...
- SQL Server数据文件迁移
需求:源SQL Server安装目录及数据目录 与 目标SQL Server安装目录及数据目录 完全不同. 步骤: 1.拷贝源数据目录下需要移植的库文件(rpBrInfo_TA.mdf.rpBrInf ...
- HDU4940 Destroy Transportation system(有上下界的最大流)
Problem Description Tom is a commander, his task is destroying his enemy’s transportation system. Le ...
- zookeeper安装搭建
一 zookeeper介绍 因为要使用kafka,但是不想用kafka自带的,而且考虑到后面别的地方需要使用,比如分布式job,觉得独立的比较好. zookeeper目前资料一大把,但是一是我需要锻 ...
- Hat’s Words(字典树的运用)
个人心得:通过这道题,对于树的运用又加深了一点,字典树有着他独特的特点,那个指针的一直转换着实让我好生想半天, 不得不佩服这些发明算法人的大脑. 这题的解决方法还是从网上找到的,还好算法是自己实现得, ...
- 深入理解http/https之缓存 2
1:web缓存的实现 web缓存: WEB缓存(cache)位于Web服务器和客户端之间. 缓存会根据请求保存输出内容的副本,例如html页面,图片,文件,当下一个请求来到的时候:如果是相同的URL, ...
- Day2-VIM(五):复制
粘帖 p 粘帖 复制的形式可以很多,但是粘帖的形式却没多少 无非就是加数字达到多次粘帖什么的 其实准确的说,p应该是放置的意思 不过我也搞不清是paste还是put的缩写 单词和字符复制 ynl 向右 ...
- linux中普通用户修改密码出现(passwd:Authentication token manipulation error)
如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法: ...