组件
-
窗口
-
弹窗
-
面板
-
文本框
-
列表框
-
按钮
-
图片
-
监听事件
-
鼠标
-
键盘事件
-
破解工具
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() { @Overridepublic void windowOpened(WindowEvent e) { } @Overridepublic void windowClosing(WindowEvent e) {System.exit(0);} @Overridepublic void windowClosed(WindowEvent e) { } @Overridepublic void windowIconified(WindowEvent e) { } @Overridepublic void windowDeiconified(WindowEvent e) { } @Overridepublic void windowActivated(WindowEvent e) { } @Overridepublic void windowDeactivated(WindowEvent e) { } });} }