窗体控件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被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...
随机推荐
- 《Advanced Bash-scripting Guide》学习(八):从一个目录移动整个目录树到另一个目录
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 ABS书上的例子: 从一个目录移动整个目录树到另一个目录 #!/bin/bash ...
- Python中的Unicode编码和UTF-8编码
下午看廖雪峰的Python2.7教程,看到 字符串和编码 一节,有一点感受,结合崔庆才的Python博客 ,把这种感受记录下来: ASCII码:是用一个字节(8bit, 0-255)中的127个字母表 ...
- HANA IMPORT AND EXPORT
权限管控的过于严格,所以找机会写个导入导出的流程.从测试机传输到生产机 1 选中EXPORT , 导出将要传输的模型 也可以 在QUICK VIEW 里选中导入导出.个人爱好 2 选择传输的两种模式 ...
- 用css方法 可以实现多行 超出宽度 出点点点号
overflow: hidden; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical;
- 分布式_理论_08_Consistent Hash(一致性哈希算法)
一.前言 五.参考资料 1.分布式理论(八)—— Consistent Hash(一致性哈希算法)
- STL空间配置器解析和实现
STL空间配置器的强大和借鉴作用不言而喻,查阅资料,发现了Dawn_sf已经对其有了极其深入和详细的描述,所以决定偷下懒借用其内容,只提供自己实现STL空间配置器的源码,具体解析内容参考:(一)STL ...
- numpy、scipy、pandas
以下分别是numpy.Scipy.pandas的简介.虽然这些包提供的一些结构比python自身的“更高级.更高效”,更高级是因为它们能完成更高级的任务,但是,学习的时候尽量不要和python割裂开认 ...
- 系列文章--Silverlight与WCF通信
Silverlight与WCF通信(一) :Silverlight通过httpBinding访问IIS宿主WCF 摘要: 首语本人在学习Silverlight 和 WCF的时候,各种问题层出不穷,在园 ...
- phoneGap入门教程
地址: http://mobile.51cto.com/hot-273792.htm
- javascript switch continue break 执行语句
1:switch 关键字段:switch(n).case.break.default switch(n) :n是一个表达式 或者是一变量,用来与其下的各种case进行匹配,比如:此时的day输出的是 ...