GUI编程
程序员文章站
2022-03-08 10:24:27
...
GUI编程
1 组件
- 窗口
- 弹窗
- 面板
- 文本窗
- 列表框
- 按钮
- 图片
- 监听事件
- 鼠标
- 键盘事件
- 外挂
- **工具
- class -> 可编译
2 简介
-
GUI核心技术:Swing AWT
-
界面不美观
-
需要jre环境
-
3 AWT
1 包含很多接口和类
2 元素:窗口,按钮,文本框
3 java.awt
1 窗口Frame
package com.learn01;
import java.awt.*;
public class TextFrame {
public static void main(String[] args) {
Frame frame = new Frame("我的第一个java图形界面窗口");
//需要设置可见性
frame.setVisible(true);
//设置窗口大小
frame.setSize(400,400);
//设置背景颜色 Color
frame.setBackground(new Color(25, 122, 220));
//弹出的初始位置
frame.setLocation(200,200);
//设置大小固定
frame.setResizable(false);
}
}
多个弹窗
package com.learn01;
import java.awt.*;
public class TestFrame02 {
public static void main(String[] args) {
//展示多个窗口
MyFrame myFrame1 = new MyFrame(100,100,200,200, Color.blue);
MyFrame myFrame2 = new MyFrame(300,100,200,200, Color.blue);
MyFrame myFrame3 = new MyFrame(100,300,200,200, Color.blue);
MyFrame myFrame4 = new MyFrame(300,300,200,200, Color.blue);
}
}
class MyFrame extends Frame {
static int id = 0;//可能存在多个窗口,需要一个计算器
public MyFrame(int x,int y,int w,int h,Color color){
super("MyFrame+"+(++id));
setBackground(color);
setBounds(x,y,w,h);
setVisible(true);
}
}
2 面板Panel
解决了关闭问题
package com.learn01;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class panel {
public static void main(String[] args) {
Frame frame = new Frame();
//布局
Panel panel = new Panel();
//设置布局
frame.setLayout(null);
//坐标
frame.setBounds(300, 300, 500, 500);
frame.setBackground(new Color(34, 125, 215));
//penel设置坐标,相当于frame
panel.setBounds(50, 50, 400, 400);
panel.setBackground(new Color(127, 139, 23));
//frame.add(panel)
frame.add(panel);
frame.setVisible(true);
//监听事件,窗口关闭事件 system.exit()
//适配器模式:
frame.addWindowListener(new WindowAdapter() {
//窗口关闭要做的事情
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
3 布局管理器
-
流式布局
package com.learn01; import java.awt.*; public class TestFlowLayout { public static void main(String[] args) { Frame frame = new Frame(); //组件+按钮 Button button1 = new Button("button1"); Button button2 = new Button("button2"); Button button3 = new Button("button3"); //设置为流式布局 //frame.setLayout(new FlowLayout()); frame.setLayout(new FlowLayout(FlowLayout.LEFT)); frame.setSize(200,200); frame.setVisible(true); //把按钮添加上去 frame.add(button1); frame.add(button2); frame.add(button3); } }
-
东南西北中
4 Swing
下一篇: GUI编程