JFrame
JFrame是个代表屏幕上窗口的对象。你可以把 button / text / checkbox 等接口放在窗口上面。
创建GUI(Graphical User Interface,图形用户界面)的步骤:
1.创建frame
JFrame frame = new JFrame();
2.创建widget(组件)
JButton button = new JButton("Click me");
3.把widget加到frame上
frame.getContentPane().add(button);
4.显示出来
frame.setSize(300,300);
frame.setVisible(true);
import javax.swing.*;
public class firstGui {
public static void main(String[] args) {
JFrame frame = new JFrame();
JButton button = new JButton("Click me");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//这一行会在window关闭时把程序结束掉
frame.getContentPane().add(button);
frame.setSize(300,300);
frame.setVisible(true);
}
}
用户接口事件
监听接口: 如果想要知道按钮的事件,就会监听事件的接口。监听接口是介于监听(你)与事件源(按钮)间的桥梁。
实现监听接口让按钮有一个回头调用程序的方式。
1.实现监听接口
2.向按钮注册
3.实现接口上的方法
在GUI上面加东西的三种方法:
1.在frame上放置widget。
2.在widget上绘制2D图形:使用graphics对象来绘制图形。
3.在widget上绘制JPEG图。
自己创建绘图组件
1.所有绘图程序代码都在paintComponent()里面,创建JPanel的子类并覆盖掉paintComponent()这个方法就可以实现创建自己的绘图组件。
2.paintComponent()的Graphics参数实际上是一个Graphics2D。
3.调用Graphics2D的方法前,必须把Graphics对象转换为Graphics2D。
GUI的布局
frame默认有5个区域安置widget。
内部类
一个类可以嵌套在另一个类的内部。
1.内部类可以使用外部所有的方法与变量,就算是私有的也一样。
2.内部类把存取外部类的方法和变量当做是开自家冰箱。
3.内部类的实例一定会绑在外部类的实例上。