Java 之 GUI
1.SWT:
a.组成:①java.awt包:工具类——颜色、字体类等
②javax.swing包:容器类 与 组件 (java.awt包中容器类与组件的升级版,以J打头)
b.总结:SWT = Swing + AWT
2.容器:
a.首层容器:JWindow、JFrame、JDialoge、JApplet
b.中间容器:Jpanel
c.组件:
①标签——JLabel (注:JLabel也能做容器)
②文本框——JTextField
密码框——JPasswordField
③按钮——JButton
④下拉列表——JComboBox<String>
⑤单选框——JRadioButton
⑥复选框——JRadioButton
⑦文本域——JTextArea
3.布局:
a.分类:①边界布局管理器(麻将布局)——BorderLayout
②流布局管理器——FlowLayout
③网格布局管理器——GridLayout
④卡片布局管理器——CardLayout
b.边界布局:
①特点:把整个容器划分为5个部分;东西南北中,南北要贯通,中间最大(不仅是中间的范围最大,权利也最大)
当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间
②使用:不是用来直接放组件的,而是用来放置子容器(中间容器)的
③注意:在默认的情况下,JFrame的内容面板就是边界布局
直接add就是默认往中间放
this.contentP.add(this.btn1); //往中间放
this.contentP.add(BorderLayout.NORTH, this.btn2); //往北面放
c.流布局:
①特点:按从左往右,从上往下,由中间开始的方式以此排放组件
组件的位置会随着容器大小的改变而改变
组件大小要根据组件内容确定
②使用:流布局是用来放置组件的,而不是用来放中间容器的
流布局最好只做单行布局
d.网格布局:
①特点:按行列将整个容器划分为等大的区域
放入的子容器的数目如果与设置的数目不等,优先保证行改变列
②使用:不是用来直接放组件的,而是用来放置子容器(中间容器)的
this.contentP.setLayout(new GridLayout(2,3));
e.卡片布局:
①特点:容器中的卡片按照顺序按最上面到最下面的顺序存放,身上至少贴上一张卡片
第一个被放入的卡片在最上面
每张卡片放入的时候要给出别名
this.add("spring", this.sprP);
②使用:不是用来直接放组件的,而是用来放置子容器(中间容器)的
③翻页步骤:
//翻页步骤:1、首先得到被设置为卡片布局的那个容器
SeasonPanel sp = ButtonPanel.this.cardF.getSeaP();
//2、得到这个容器的布局管理器/
CardLayout card = (CardLayout)sp.getLayout();
//3、调用该布局管理器翻页
card.first(sp);
4.事件处理
a.特点:①一个监听器,可以绑定多个事件源
②一个事件源,可以绑定多个监听器
③监听器有各自的监听事件类型
b.步骤:①写好界面——事件源对象已有
②选择合适的监听器类型
③书写监听器实现类 (写好处理代码)
④产生监听器对象,和事件源对象进行绑定
5.监听器
a.分类:ActionListener——点击监听器
KeyListener——键盘监听器
MouseListener——鼠标监听器
MouseWheelListener——鼠标滑轮监听器
WindowListener——窗口监听器
b.最经典的监听器实现方法:
①匿名内部类的使用——在跟事件源对象绑定监听器对象的同时,实现监听器类
this.redBtn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
ColorFrame.this.contentP.setBackground(Color.RED);
ColorFrame.this.redBtn.setEnabled(false);
ColorFrame.this.greenBtn.setEnabled(true);
}
});
②特点:每个事件源对象拥有独立的监听器类,同时没有多的java文件。即满足单一,又没有增加文件数量
操作外部容器类的任何组件或子容器不用传参
Java 之 GUI的更多相关文章
- 1.JAVA之GUI编程概述
下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式: ...
- 2.JAVA之GUI编程布局
布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...
- 3.JAVA之GUI编程Frame窗口
创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(tur ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- 5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...
- 6.JAVA之GUI编程Action事件
功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...
- 7.JAVA之GUI编程鼠标事件
鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...
- 8.JAVA之GUI编程键盘码查询器
程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本 ...
- 9.JAVA之GUI编程列出指定目录内容
代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...
- 10.JAVA之GUI编程弹出对话框Dialog
在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...
随机推荐
- 手机端页面自适应之rem布局
W3C官网上是这样描述rem的--"font size of the root element" . rem布局在移动端发挥的比较好. 阿里团队高清方案: <script&g ...
- 做为一个前端工程师,是往node方面转,还是往HTML5方面转
文章背景:问题本身来自于知乎,但是我感觉这个问题很典型,有必要把问题在整理一下,重新分享出来. 当看到这个问题之前,我也碰到过很多有同样疑惑的同学,他们都有一个共同的疑问该学php还是nodejs,包 ...
- IIS7.0发布Web服务-0001
配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (overrideModeDefault="Deny"),或者是通过包含 ove ...
- 网络第二节——AFNworking
/** 要使用常规的AFN网络访问 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; ...
- java从基础知识(九)I/O
java中的流可以从不同的角度进行分类 按流的方向:输入流.输出流(注意这里的输入(read).输出是相对于程序而言的(writer),个人认为从读.写角度理解更为直观) 按处理数据单位:字节流.字符 ...
- 无中间变量交换swap(a,b)
#include <stdio.h> /* 加减法 整型.浮点型(损失精度) */ void swap1(int *a,int *b) { *a=*a+*b; *b=*a-*b; *a=* ...
- 【新手出发】从搭虚拟机开始,一步一步在CentOS上跑起来.Net Core程序
文章背景 微软6月26号发布core 1.0版本后,园子里关于这方面的文章就更加火爆了,不管是从文章数量还是大家互动的热情来看,绝对是最热门的技术NO.1.我从去年底开始接触.net core到现在也 ...
- ubuntu专用
独立显卡处理驱动处理问题: http://blog.csdn.net/liufunan/article/details/52090382 git的教程: http://www.bootcss.com/ ...
- 【krpano】krpano xml资源解密(破解)软件说明与下载(v1.4)
欢迎加入qq群551278936讨论krpano技术以及获取最新软件. 该软件已经不再维护,现在已经被KRPano资源分析工具取代,详情参见 http://www.cnblogs.com/reac ...
- C/C++: C++变量和基本类型
1. 如何选择类型的准则 当明确知晓数值不可能为负的时候,应该选择无符号类型. 使用int执行整数运算的时候,在实际应用中,short常常显得太小而long一般和int有一样的尺寸,如果数值超过了in ...