窗体控件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被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...
随机推荐
- mysql 语文成绩大于80,数学成绩大于80
mysql> select name from test where name = any(select name from test where chengj i > 80 and xu ...
- 制作导航菜单分隔线的总结:用css3
经过百度统计中国中使用谷歌浏览器比较多,我很奇怪,我身边的同事很少用谷歌,唯一我用谷歌的原因就是看上它调试能力和模拟手机. 下面是我个人制作的 预览用谷歌浏览器. <!doctype html& ...
- 29 python 并发编程之多线程理论
一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合 ...
- Git_学习_07_ 推送修改到远端
一.操作流程 多人协作时,若自己的本地代码有了修改,想提交自己的代码,就需要按照以下步骤操作: 1.确认修改正确 使用以下命令,查看有哪些是自己未提交的代码 git status 2.拉取远程最新代码 ...
- MySQL+Node.js连接和操作
在本节中,您将学习如何使用mysql模块从node.js应用程序与MySQL进行交互. 我们将向您展示如何使用Node.js连接到MySQL,执行常用操作,如使用mysql模块API执行插入,选择,更 ...
- nodejs--vue
nodejs--vue 基础知识认识: 前端工程化 最近才兴起,nodejs(包的管理更加方便),webpack 数据双向绑定 mvm 数据驱动vue,vue改变数据 组件化开发 vue 中的常见 概 ...
- [转]NYOJ-511-移动小球
大学生程序代写 http://acm.nyist.net/JudgeOnline/problem.php?pid=511 这道题很容易想到要构建一个循环链表来确定每个球的相对位置,就是操作比较繁琐,考 ...
- Effective Python之编写高质量Python代码的59个有效方法
这个周末断断续续的阅读完了<Effective Python之编写高质量Python代码 ...
- Python函数-map()
map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回.如下: def ...
- k近邻算法C++二维情况下的实现
k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...