组件
-
窗口
-
弹窗
-
面板
-
文本框
-
列表框
-
按钮
-
图片
-
监听事件
-
鼠标
-
键盘事件
-
破解工具
Java提供了丰富的图形用户界面(Graphics User Interface,GUI)的类库,基于这些类库可以编写窗口程序。
Java关于图形界面的类库主要放在Swing和AWT包下。
AWT
AWT组件也被称为重组件,因为针对不同的运行平台,AWT组件会调用特定平台组件。
AWT是一个抽象窗口类。
1.包含了很多类和接口
2.元素:窗口,按钮,文本框
3.java.awt包

组件和容器
package YMP.GUI;
import java.awt.*;
public class TestFrame {
public static void main(String[] args) {
Frame frame=new Frame("第一个Java图形界面窗口");
//设置可见性
frame.setVisible(true);
//设置窗口大小
frame.setSize(400,400);
//设置背景颜色
frame.setBackground(Color.BLACK);
//弹出的初始位置
frame.setLocation(200,200);
//设置大小固定,不可拉伸
frame.setResizable(false);
}
}

多个窗口
package YMP.GUI;
import java.awt.*;
class MyFrame extends Frame {
public MyFrame(int x,int y,int w,int h,Color color){
setVisible(true);
setBounds(x,y,w,h);
setBackground(color);
}
}
package YMP.GUI;
import java.awt.*;
public class TestFrame2 {
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.yellow);
MyFrame myFrame3=new MyFrame(100,300,200,200,Color.red);
MyFrame myFrame4=new MyFrame(300,300,200,200,Color.MAGENTA);
}
}

面板Panel
可以看成是一个空间,但不能单独存在
package YMP.GUI;
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class TestPanel {
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(40,161,35));
//设置Panel相对与frame的坐标
panel.setBounds(50,50,400,400);
panel.setBackground(new Color(193,15,60));
frame.add(panel);
frame.setVisible(true);
//监听事件,监听窗口关闭事件
frame.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
});
}
}
