做的很简陋 慢慢学习中!!!!!!
import java.awt.*;
public class 计算 {
public static void main(String[] args) {
window win=new window();
win.setTitle("简单计算器");//窗口的标题
win.setBounds(100, 100, 390,360);//设置位置以及大小
Container c=win.getContentPane();
c.setBackground(Color.green);//设置背景颜色
}
}
window类
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class window extends JFrame{
JTextArea are;//文本区
JButton button;//按钮
JTextField field1,field2;//文本框
JComboBox box;//下拉列表
public window(){
init();
setVisible(true);//窗口是可见的
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击×号时退出并关闭
}
void init(){
setLayout(new FlowLayout());//按顺序添加
field1=new JTextField(5);//设置文本框大小
field2=new JTextField(5);
button=new JButton("确定");//按钮
are=new JTextArea(9,10);//
JScrollPane scroll=new JScrollPane(are);//可滑动的文本区
String s[]={"+","-","*","/"};
box=new JComboBox();//下拉列表
box.addItem("请选择运算符:");
for(int i=0;i<4;i++){
box.addItem(s[i]);
}
action a=new action();
item i=new item();
i.setaction(a);
i.setbox(box);
a.setare(are);
a.setfield2(field2);
a.setfild1(field1);
box.addItemListener(i);
button.addActionListener(a);
add(field1);
add(box);
add(field2);
add(button);
add(scroll);
}
}
item类
import java.awt.event.*;//此类的主要目的是继承ItemListener接口然后记录下所选中的下拉列表字符串
import javax.swing.*;
public class item implements ItemListener{
JComboBox box;
String str;
action aa;
public void setbox(JComboBox box){
this.box=box;
}
public void setaction(action aa){
this.aa=aa;
}
public void itemStateChanged(ItemEvent e){
str=box.getSelectedItem().toString();
aa.setfuhao(str);
}
}
action类
import javax.swing.*;//此类的主要目的是继承ActionListener接口获得文本框里的字符串并且计算输出
import java.awt.event.*;
public class action implements ActionListener{
JTextField field1,field2;
JTextArea are;
double b1;
double b2;
String s;
item i1=new item();
public void setfild1(JTextField field1){
this.field1=field1;
}
public void setfield2(JTextField field2){
this.field2=field2;
}
public void setare(JTextArea are){
this.are=are;
}
public void setfuhao(String ll){
s=ll;
}
public void actionPerformed(ActionEvent e){
b1=Double.parseDouble(field1.getText());
b2=Double.parseDouble(field2.getText());
print();
}
void print(){//计算
double t=0;
if(s.equals("+")){
t=b1+b2;
}
if(s.equals("-")){
t=b1-b2;
}
if(s.equals("*")){
t=b1*b2;
}
if(s.equals("/")){
t=b1/b2;
}
are.append(b1+" "+s+" "+b2+"="+t+"\n");
}
}