窗体控件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被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...
随机推荐
- python sort() sorted() 与argsort()函数的区别
1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...
- C#中的线程(一)入门
C#中的线程(一)入门 Keywords:C# 线程Source:http://www.albahari.com/threading/Author: Joe AlbahariTranslator: ...
- Eclipse插件开发_异常_01_java.lang.RuntimeException: No application id has been found.
一.异常现象 在运行RCP程序时,出现 java.lang.RuntimeException: No application id has been found. at org.eclipse.equ ...
- php-fpm 和 mysql 之间的关系
我们都知道,php是不能直接操作 mysql的,他需要通过扩展提供接口调用,php的mysql扩展也好几个,只支持面向过程的mysql,既支持面向过程也支持面向对象的mysqli,只支持面向对象的PD ...
- LeetCode K-diff Pairs in an Array
原题链接在这里:https://leetcode.com/problems/k-diff-pairs-in-an-array/#/description 题目: Given an array of i ...
- HttpContext是干什么的
这是MSDN对HttpContext的说明: HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息. (网上说是上下文信息,啥又叫上下文呢?个人感觉说的不 ...
- CF 36E Two Paths——欧拉路
题目:http://codeforces.com/contest/36/problem/E 找出两条欧拉路覆盖无向图. 套上欧拉路模板.用过的边要记录. 注意 一个连通块.4个奇度数点 的情况是在两个 ...
- hdu 4336 Card Collector —— Min-Max 容斥
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4336 bzoj 4036 的简单版,Min-Max 容斥即可. 代码如下: #include<cst ...
- immutable学习
React 做性能优化时有一个避免重复渲染的大招,就是使用 shouldComponentUpdate(),但它默认返回 true,即始终会执行 render() 方法,然后做 Virtual DOM ...
- 配置Nginx实现负载均衡
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...