要求:
设置一个GUI界面,每一个小按钮的颜色不同,可以自行定义其他按键,但是必须有确定按钮和取消按钮,且当点击确定时会打出确定按钮被按下,点击取消按钮时打出取消按钮被按下
*代码块中的package可以自己定义一个,我定义GUI是比较好理解;
*此代码需定义两个类,一个是JFrame,一个是MyFrame类,并在MyFrame实现main主函数;
1.首先先创建一个JFrame的类,类中无需定义其他的方法;
package GUI;
public class JFrame {
}
2.然后创建一个MyFrame的类继承JFrame;
*Swing中顶级窗口有Jframe和JDialog;
*中间容器有Jpanel和JScrollPane,这些容器不能单独存在,必须依存在顶级窗口中;
package GUI;
import javax.swing.*;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//顶级容器
public class MyFrame extends JFrame {
public MyFrame() {
this.setTitle("select");
this.setSize(300,200);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//布局器作用:
//决定组件在容器上如何摆放
//决定组件的大小
public static void main(String[] args){
JPanel penel=new JPanel();
MyFrame f=new MyFrame();
f.add(penel);
//两行两列
penel.setLayout(new GridLayout(2,2));
//界面文字
JButton bt=new JButton("确定");
JButton bl=new JButton("取消");
JButton bm=new JButton("上一页");
JButton bo=new JButton("下一页");
JButton bp=new JButton("你是谁");
//区域颜色
bt.setBackground(Color.green);
bl.setBackground(Color.yellow);
bm.setBackground(Color.red);
bo.setBackground(Color.pink);
//界面展示
penel.add(bt);
penel.add(bl);
penel.add(bm);
penel.add(bo);
penel.add(bp);
//new MyFrame();
//事件,点一次按钮就是事件
// 事件就是用户对界面的操作
//事件源是事件·发生的场所
//事件源:button
bt.setActionCommand("1");
// bt.addActionListener("bt");
ActionListener listener=new ActionListener() {
//一个组件可以
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("确定按钮被按下");
System.out.println(e.getActionCommand());
//System.out.println("取消按钮被按下");
// System.out.println(e.toString());
}
};
bl.setActionCommand("2");
ActionListener listenere=new ActionListener() {
//一个组件可以
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("取消按钮被按下");
// System.out.println(e.toString());
System.out.println(e.getActionCommand());
}
};
bt.addActionListener(listener);
bl.addActionListener(listenere);
}
}