实验十:图形用户界面设计
源代码:
package jisuanqi;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class p{
TextField tf = new TextField(40); //显示文本框
StringBuffer s1 = new StringBuffer(); //记录运算数字,以及保留结果
StringBuffer s2 = new StringBuffer(); //记录运算数字,保留上一个输入的数字或运算结果
static String flag = new String(); //标记运算符号:+,-,*,/
boolean start = true; //标记运算开始或结束,保证一次运算之后,第二次进行运算时能同时清空显示界面,即s1为空
public void init(){
//主界面
JFrame f = new JFrame("计算器");
JPanel p1 = new JPanel();
p1.add(tf);
f.add(p1,BorderLayout.NORTH);
JPanel p2 = new JPanel();
p2.setLayout(new GridLayout(0,2));
//动作监听器
ActionListener listen =new ActionListener() {
public void actionPerformed(ActionEvent arg0) {};
};
//添加按钮以及监听器
JButton bks = new JButton("Backspace");
bks.addActionListener(listen);
JButton c = new JButton("C");
c.addActionListener(listen);
p2.add(bks);
p2.add(c);
f.add(p2);
JPanel p3 = new JPanel();
p3.setLayout(new GridLayout(4,4));
JButton b1 = new JButton("7");
p3.add(b1);
b1.addActionListener(listen);
JButton b2 = new JButton("8");
p3.add(b2);
b2.addActionListener(listen);
JButton b3 = new JButton("9");
p3.add(b3);
b3.addActionListener(listen);
JButton b4 = new JButton("/");
p3.add(b4);
b4.addActionListener(listen);
JButton b5 = new JButton("4");
p3.add(b5);
b5.addActionListener(listen);
JButton b6 = new JButton("5");
p3.add(b6);
b6.addActionListener(listen);
JButton b7 = new JButton("6");
p3.add(b7);
b7.addActionListener(listen);
JButton b8 = new JButton("*");
p3.add(b8);
b8.addActionListener(listen);
JButton b9 = new JButton("1");
p3.add(b9);
b9.addActionListener(listen);
JButton b10 = new JButton("2");
p3.add(b10);
b10.addActionListener(listen);
JButton b11 = new JButton("3");
p3.add(b11);
b11.addActionListener(listen);
JButton b12 = new JButton("-");
p3.add(b12);
b12.addActionListener(listen);
JButton b13 = new JButton("C");
p3.add(b13);
b13.addActionListener(listen);
JButton b14 = new JButton("0");
p3.add(b14);
b14.addActionListener(listen);
JButton b16 = new JButton("=");
p3.add(b16);
b16.addActionListener(listen);
JButton b17 = new JButton("+");
p3.add(b17);
b17.addActionListener(listen);
f.add(p3,BorderLayout.SOUTH);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.pack();
f.setVisible(true);
}
public static void main(String args[]){
//调用方法,实现计算器
new p().init();
}
}
结果:
心得:
1.此次编写我熟悉了java图形用户界面的设计原理和程序结构
2.通过编写还存在很多问题,还需要继续改善。