组件
-
窗口
-
弹窗
-
面板
-
文本框
-
列表框
-
按钮
-
图片
-
监听事件
-
鼠标
-
键盘事件
-
破解工具
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) { } }); } }