1、设计一个如图所示的界面,不需要提供组件的功能。
第一种:自己的笨方法:
package bbb;
import java.awt.*;
import javax.swing.*;
public class MyFrame {
JFrame f;
JPanel p1,p2,p3;
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
JTextField t1;
GridLayout g1,g2;
BorderLayout g3;
public MyFrame(){
f=new JFrame("计算器");
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
g1=new GridLayout(1,1,3,3);
g2=new GridLayout(4,4,3,3);
g3=new BorderLayout();
t1=new JTextField(18);
b1=new JButton("7");
b2=new JButton("8");
b3=new JButton("9");
b4=new JButton("/");
b5=new JButton("4");
b6=new JButton("5");
b7=new JButton("6");
b8=new JButton("*");
b9=new JButton("1");
b10=new JButton("2");
b11=new JButton("3");
b12=new JButton("-");
b13=new JButton("0");
b14=new JButton(".");
b15=new JButton("=");
b16=new JButton("+");
f.add(p3);
p1.setLayout(g1);
p2.setLayout(g2);
p3.setLayout(g3);
p3.add(BorderLayout.NORTH,p1);
p3.add(BorderLayout.CENTER,p2);
p3.add(p2);
p1.add(t1);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(b10);
p2.add(b11);
p2.add(b12);
p2.add(b13);
p2.add(b14);
p2.add(b15);
p2.add(b16);
f.setSize(400,260);
f.setVisible(true);
}
public static void main(String[] args){
new MyFrame();
}
}
第二种:利用循环:
package ZQ;
import java.awt.*;
import javax.swing.*;
public class MyFrames {
JFrame f;
JPanel p1,p2;
JButton []a;
JTextField t;
BorderLayout b;
GridLayout g;
String []c= {"7","8","9","/",
"4","5","6","*",
"1","2","3","-",
"0",".","=","+"};
public MyFrames() {
f=new JFrame("计算器");
p1=new JPanel();
p2=new JPanel();
t=new JTextField(30);
b=new BorderLayout();
g=new GridLayout(4,4,3,3);
a=new JButton[16];
for(int i=0;i<16;i++) {
a[i]=new JButton();
a[i].setText(c[i]);
p2.add(a[i]);
}
p2.setLayout(g);
p1.add(t);
f.setLayout(b);
f.add(p1,BorderLayout.NORTH);
f.add(p2,BorderLayout.CENTER);
f.setSize(360,300);
f.setVisible(true);
}
public static void main(String[] args) {
new MyFrames();
}
}
2、编写可改变背景颜色的窗口。
package bbb;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class MyWindow implements ActionListener{
JFrame f;
JPanel p1,p2,p3;
JButton b1,b2,b3;
BorderLayout b;
public MyWindow(){
f=new JFrame();
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
b=new BorderLayout();
b1=new JButton("红色");
b2=new JButton("绿色");
b3=new JButton("蓝色");
f.setSize(400, 300);
f.setVisible(true);
f.add(p3);
p3.setLayout(b);
b1.addActionListener(this);
b1.setActionCommand("1");
b2.addActionListener(this);
b2.setActionCommand("2");
b3.addActionListener(this);
b3.setActionCommand("3");
p1.add(b1);
p1.add(b2);
p1.add(b3);
p2.setBackground(Color.PINK);
p1.setBackground(Color.WHITE);
p3.add(BorderLayout.NORTH,p1);
p3.add(BorderLayout.CENTER,p2);
}
public static void main(String[] args){
new MyWindow();
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
if(arg0.getActionCommand().equals("1")){
p2.setBackground(Color.RED);
}
else if(arg0.getActionCommand().equals("2")){
p2.setBackground(Color.GREEN);
}
else{
p2.setBackground(Color.BLUE);
}
}
}