[TOC]
GUI界面开发
1.GUI布局管理器
Java总五大布局管理器:
- FlowLayout(流式布局管理器)
- 从左到右的顺序排列,Panel默认的布局管理器。
BorderLayout(边界布局管理器)
- 东,南,西,北,中,Frame默认的布局管理器。
[TOC]
Java总五大布局管理器:
BorderLayout(边界布局管理器)
[TOC]
Java总五大布局管理器:
BorderLayout(边界布局管理器)
1 | //边界布局勾画出一个集装箱,安排和调整其成分放在五个区域:北,南,东,西,和中心。 |
GridLayout(网格布局管理器)规则的矩阵比如计算器程序中的数字1-9
描述:利用JAVA的Graphical User Interface(图形用户接口)来进行实现展示GUI界面;
JAVA-Frame类语法:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
//一个 Frame是一个带有标题和边框的顶层窗口。
public class Frame
extends Window
implements MenuContainer
//构造方法
Frame(String title) //构建一个新 Frame最初无形对象的指定标题。
Frame(String title, GraphicsConfiguration gc) //构建了一个新的开始,看不见的 Frame对象和指定的标题和 GraphicsConfiguration。
//常用方法:
setLayout(new 布局管理器);//设置布局管理器
setSize(width,heigh); //设置窗体大小
setLocation(x,y); //设置窗体出现在屏幕的位置
setIconImage(); //设置软件icon图标
setVisible(true); //界面显示
补充知识:
1 | // Interface WindowListener :它是一个接口,用于接收窗口事件的侦听器接口 |
适配器设计模式:
适配器原理:
事件处理:
基础案例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114package com.weiyigeek.gui;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JOptionPane;
public class Demo1_StartGUI {
public static void main(String[] args) {
//1.JAVA-GUI界面显示设置
Frame f = new Frame("我的第一个Title!");
f.setSize(500, 300); //显示大小
f.setLocation(500, 500); //显示位置
f.setIconImage(Toolkit.getDefaultToolkit().createImage("C:\\net.png")); //软件图标
//2.显示按钮
Button button = new Button("测试");
Button bt = new Button("退出");
f.add(bt);
f.add(button);
f.setLayout(new FlowLayout()); //设置流布局管理器
//3.事件源是窗体把监听器注册到事件源上,事件对象传递给监听器(让窗口适配器可以支持)
f.addWindowListener(new WindowAdapter() {
//当然您也可以建立一个类实现WindowsAdapter接口中方法;
//或者采用匿名内部类;
public void windowClosing(WindowEvent e) {
System.exit(0);//退出虚拟机,关闭窗口
}
});
f.addWindowListener(new newWindowListener());
//4.鼠标监听
bt.addMouseListener(new MouseAdapter() {
//单击监听
public void mouseClicked(MouseEvent e) {
System.out.println("单击");
System.exit(0);
}
//释放监听
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("释放");
System.exit(0);
}
});
//5.键盘监听
button.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
System.out.println("您当前输入的值:" + e.getKeyCode() + "字符值:" + e.getKeyChar());
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
System.exit(0);
}
}
});
//6.动作监听
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
f.setVisible(true); //是否可显示
}
}
//实现重写接口中方法
class newWindowListener implements WindowListener {
//软件打开时候显示
@Override
public void windowOpened(WindowEvent e) {
System.out.println(e.paramString());
System.out.println(e.getClass());
}
//软件关闭时候执行
@Override
public void windowClosing(WindowEvent e) {
}
@Override
public void windowClosed(WindowEvent e) {
}
//
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
//软件默认打开以及缩小还原的时候显示执行
@Override
public void windowActivated(WindowEvent e) {
System.out.println("Windows Show");
}
//软件缩小时候触发(弹框)
@Override
public void windowDeactivated(WindowEvent e) {
JOptionPane.showMessageDialog(null, "友情提示");
}
}
https://blog.csdn.net/NTrinity/article/details/80435990
描述:TextField 允许一个单行文本的编辑。1
2
3
4
5
6
7
8//类
public class TextField
extends TextComponent
//构造方法
TextField(String text, int columns) //构造一个与指定要显示的指定文本初始化的新文本字段,并足够大以保持指定的列数。
String getText(String t); // 获取该输入框组件里面的字符串内容
void setText(String t) //将由该文本组件呈现的文本设置为指定的文本。
实际利用:1
TextField tf = new TextField("输入框默认显示数值",15); //预设值文本框以及大小
描述:Button按钮图标相关类1
2
3
4
5
6
7
8
9
10//类创建一个标记按
public class Button extends Component implements Accessible
//构造方法
Button(String label) //用指定的标签构造一个按钮。
void setLabel(String label) //将按钮的标签设置为指定的字符串。
String getLabel() //获取此按钮的标签。
void addActionListener(ActionListener l) //添加指定的操作侦听器从该按钮接收动作事件。
void removeActionListener(ActionListener l) //移除指定的动作侦听器,以便它不再从该按钮接收动作事件。
实际利用:1
Button bt = new Button("按钮");
描述:一个 TextArea对象是一个多行显示文本区域。它可以设置为允许编辑或是只读的。
1 | //类定义 |
实用实例:1
2
3
4
5
6
7TextArea ta = new TextArea("Hello", 5, 40); //默认显示Hello字符串然后5行10列
ta.getText();
ta.setText("覆盖原来的字符");
ta.append("追加字符串到文本编辑框中");
ta.setEditable(false); //显示的文本框禁止显示
ta.setBackground(new Color(255,255,255)); //显示白色 => 帮助 ctrl+shift+t
ta.setFont(new Font("xxx",Font.PLAIN,20)); //设置发送字体大小
描述:Panel是最简单的容器类,一个面板的默认布局管理器是FlowLayout布局管理器。1
2
3
4
5
6
7
8//继承java.awt.Container类其中的方法也将被继承
public class Panel extends Container implements Accessible
//构造方法
Panel(LayoutManager layout) //创建一个新的面板与指定的布局管理器
//方法
setLayout(五大布局); //面板设置布局
实际案例:1
2
3Panel center = new Panel();
center.setLayout(new BorderLayout()); //设置为边界布局管理器
center.add(组件,BorderLayout.SOUTH); //设置组件的位置
描述:颜色是Color类而字体是Font类;
1 | public class Color |
1 | new Color(255,255,255) //白色 |
1 | //字体提供所需要的映射字符的顺序序列的字形和渲染在 Graphics和 Component对象符号序列的信息。 |
实际案例:1
TextArea.setFont(new Font("xxx",Font.PLAIN,20)); //设置显示的字体大小
补充知识:
逻辑字体不是实际的字体库
,逻辑字体名称用java运行环境映射到物理字体;
你好看友,欢迎关注博主微信公众号哟! ❤
这将是我持续更新文章的动力源泉,谢谢支持!(๑′ᴗ‵๑)
温馨提示: 未解锁的用户不能粘贴复制文章内容哟!
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主,
将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!
@WeiyiGeek - 为了能到远方,脚下的每一步都不能少
欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】
或者个人公众号【WeiyiGeek】
联系我。
更多文章来源于【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】, 个人首页地址( https://weiyigeek.top )
专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注、转个发、赞个助】,这将对我的肯定,我将持续整理发布更多优质原创文章!。
最后更新时间:
文章原始路径:_posts/编程世界/Java/JAVA入门学习十二.md
转载注明出处,原文地址:https://blog.weiyigeek.top/2019/10-24-296.html
本站文章内容遵循 知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议