这个是小宋写的一个比较简单的计算器,是由自己输入的,如果想看一个完整的带按键的计算器,可能要过一段时间之后小宋才会发代码!
现在先看一下怎样编写这个简单的计算器吧!
【代码】
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Exam9_8 extends JFrame implements ActionListener
{
JTextField[] text={new JTextField(6),new JTextField(6)};
JComboBox<String> combo = new JComboBox<String>();
JButton button=new JButton("计算");
JTextArea area=new JTextArea(17,24);
public static void main(String[] args)
{
Exam9_8 frm=new Exam9_8("简单计算器");
frm.setBounds(100,100,320,410);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
}
Exam9_8(String s)
{
setTitle(s);
setLayout(new FlowLayout());
add(text[0]);
String[] str={" + "," - "," * "," / "};
for(int i=0;i<str.length;i++)
combo.addItem(str[i]);
add(combo);
add(text[1]);
add(button);
area.setEditable(false); //设置文本区不可被编辑
add(new JScrollPane(area));
button.addActionListener(this); //按钮注册就可以了
}
public void actionPerformed(ActionEvent e)
{
char ch=combo.getSelectedItem().toString().charAt(2);
double a,b,result=0.0;
try
{
a=Double.valueOf(text[0].getText());
b=Double.valueOf(text[1].getText());
switch(ch)
{
case '+': result=a+b;break;
case '-': result=a-b;break;
case '*': result=a*b;break;
case '/': result=a/b;break;
}
area.append(a+" "+" "+ch+" "+b+" = "+result+"\n");
}
catch(Exception ex)
{
area.append("数据格式异常\n");
}
}
}