package GUI_Little_orderBUtton;
/*
*当出现相似的事件的时候,是对象的时候。可以拿出来复用
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class MyJFrame extends JFrame{
private static JPanel pnlContent=null;
MyJFrame(){
initJFrame();
initUI();
}
private ActionListener onclickListener1=new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JButton jButton=(JButton) e.getSource();
if(jButton.getActionCommand().equals("blue")){
pnlContent.setBackground(Color.blue);
}
if(jButton.getActionCommand().equals("red")){
pnlContent.setBackground(Color.RED);
}
if(jButton.getActionCommand().equals("green")){
pnlContent.setBackground(Color.green);
}
}
};
private void initUI() {
JPanel pnlTop=new JPanel(new FlowLayout(FlowLayout.CENTER));//默认的是居中显示,流布局的布局管理器
pnlTop.setPreferredSize(new Dimension(this.WIDTH,100));//设置此组件的首选大小。构造一个 Dimension,并将其初始化为指定宽度和高度。指示基本图像的宽度(this.WIDTH)
pnlTop.setBorder(new EmptyBorder(20,0,0,0));//创建具有指定 insets 的空边框 ,逆时针的。设置厚度设置此组件的边框(setBorder)
this.add(pnlTop,BorderLayout.NORTH);
button(pnlTop);
pnlContent =new JPanel();
this.add(pnlContent, BorderLayout.CENTER);
this.setVisible(true);
}
private void button(JPanel pnlTop) {
JButton btnBlue =new JButton("蓝色");
btnBlue.setActionCommand("blue");
btnBlue.addActionListener(onclickListener1);
pnlTop.add(btnBlue);
this.setVisible(true);
JButton btnRed=new JButton("红色");
btnRed.setActionCommand("red");
btnRed.addActionListener(onclickListener1);
pnlTop.add(btnRed);
this.setVisible(true);
JButton btnGreen =new JButton("绿色");
btnGreen.setActionCommand("green");
btnGreen.addActionListener(onclickListener1);
pnlTop.add(btnGreen);
this.setVisible(true);
}
private void initJFrame() {
this.setTitle("GUI_Little_orderBUtton");//设置标题
this.setLocation(new Point());
this.setSize(600,800);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//设置用户在此窗体上发起 "close" 时默认执行的操作。
this.setBackground(Color.red);
this.setLocationRelativeTo(null); //设置组件的位置,null的时候为中间的位置
}
public static void main(String[] args) {
new MyJFrame();
}
}
/*
*当出现相似的事件的时候,是对象的时候。可以拿出来复用
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class MyJFrame extends JFrame{
private static JPanel pnlContent=null;
MyJFrame(){
initJFrame();
initUI();
}
private ActionListener onclickListener1=new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JButton jButton=(JButton) e.getSource();
if(jButton.getActionCommand().equals("blue")){
pnlContent.setBackground(Color.blue);
}
if(jButton.getActionCommand().equals("red")){
pnlContent.setBackground(Color.RED);
}
if(jButton.getActionCommand().equals("green")){
pnlContent.setBackground(Color.green);
}
}
};
private void initUI() {
JPanel pnlTop=new JPanel(new FlowLayout(FlowLayout.CENTER));//默认的是居中显示,流布局的布局管理器
pnlTop.setPreferredSize(new Dimension(this.WIDTH,100));//设置此组件的首选大小。构造一个 Dimension,并将其初始化为指定宽度和高度。指示基本图像的宽度(this.WIDTH)
pnlTop.setBorder(new EmptyBorder(20,0,0,0));//创建具有指定 insets 的空边框 ,逆时针的。设置厚度设置此组件的边框(setBorder)
this.add(pnlTop,BorderLayout.NORTH);
button(pnlTop);
pnlContent =new JPanel();
this.add(pnlContent, BorderLayout.CENTER);
this.setVisible(true);
}
private void button(JPanel pnlTop) {
JButton btnBlue =new JButton("蓝色");
btnBlue.setActionCommand("blue");
btnBlue.addActionListener(onclickListener1);
pnlTop.add(btnBlue);
this.setVisible(true);
JButton btnRed=new JButton("红色");
btnRed.setActionCommand("red");
btnRed.addActionListener(onclickListener1);
pnlTop.add(btnRed);
this.setVisible(true);
JButton btnGreen =new JButton("绿色");
btnGreen.setActionCommand("green");
btnGreen.addActionListener(onclickListener1);
pnlTop.add(btnGreen);
this.setVisible(true);
}
private void initJFrame() {
this.setTitle("GUI_Little_orderBUtton");//设置标题
this.setLocation(new Point());
this.setSize(600,800);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//设置用户在此窗体上发起 "close" 时默认执行的操作。
this.setBackground(Color.red);
this.setLocationRelativeTo(null); //设置组件的位置,null的时候为中间的位置
}
public static void main(String[] args) {
new MyJFrame();
}
}