GUI编程
AWT
AWT:建立和设置Java图形用户界面的基本工具,它提供了一套与本地图形界面进行交互的接口。支持创建窗口、弹窗、面板、文本框、列表框、按钮等组件,并提供了对鼠标和键盘事件的监听。
//简单Frame窗口
import java.awt.*;
public class Main {
public static void main(String[] args) {
Frame myFrame = new Frame("我的第一个窗口");
myFrame.setVisible(true);//设置可视化
myFrame.setSize(400,400);//设置尺寸
myFrame.setLocation(300,200);//设置坐标位置
myFrame.setBackground(new Color(86, 155, 20));//设置颜色
myFrame.setResizable(false); //固定大小
myFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);//关闭窗口时结束程序
}
});
}
}
//创建Panel面板
Frame myFrame = new Frame("我的第一个窗口");
Panel panel = new Panel();//面板
myFrame.setLayout(null);
myFrame.setVisible(true);//设置可视化
myFrame.setBounds(800,300,400,400);//设置坐标位置尺寸
//panel相对于Frame的位置
panel.setBounds(50,50,300,300);
panel.setBackground(Color.gray);
myFrame.add(panel);
三种布局管理器
frame.setLayout(new FlowLayout(FlowLayout.RIGHT));//设置为流式布局,默认在中间
frame.add(button1);
frame.add(button2);
frame.add(button3,BorderLayout.WEST);//东西南北中布局
frame.setLayout(new GridLayout(3,2));//表格布局
事件监听
//输入框监听
public class Main {
public static void main(String[] args) {
new MyFrame();
}
}
public class MyFrame extends Frame {
public MyFrame(){
TextField textField = new TextField();
add(textField);
//监听文本框输入的文字
MyActionListener myActionListener = new MyActionListener();
textField.addActionListener(myActionListener);
pack();//自适应
setVisible(true);
textField.setEchoChar('*');//设置替换编码
}
}
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent actionEvent) {
TextField field = (TextField) actionEvent.getSource();//获得资源
System.out.println(field.getText()); //获得文本框的文本
field.setText("");//每次清空
}
}