组件
窗口,弹窗,面板,文本框,列表框,按钮,图片,监听事件,鼠标,键盘事件
GUI的核心技术:Swing AWT
public static void main(String[] args) { Frame frame = new Frame("我的第一个窗口"); frame.setVisible(true); //设置可见性 frame.setSize(400,400); //设置窗口大小 frame.setBackground(new Color(0,0,0)); frame.setLocation(200,200); //界面初始位置 frame.setResizable(false); //设置大小固定 }
同时写多个弹窗
面板代码(解决了关闭)
package org.cq.gui; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Demo2 { 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(0,0,0)); //frame。add(panel) frame.add(panel); frame.setVisible(true); //监听事件,关闭窗口 //适配器模式 frame.addWindowListener(new WindowAdapter() { //窗口点击关闭的时候做的事情 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); } }
3.布局管理器
流式布局
import java.awt.*; public class Demo3 { 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.setSize(200,200); //把按钮添加上去 frame.add(button1); frame.add(button2); frame.add(button3); frame.setVisible(true); } }
东西南北中布局
表格布局