注册 登录
编程论坛 JAVA论坛

Java新手大神求带

纳兰不羁 发布于 2016-05-28 00:28, 2040 次点击
求解:编写一个简单的计算器,程序界面如图所示:
只有本站会员才能查看附件,请 登录
5 回复
#2
郑家兴2016-05-29 14:06
package calcu;
import java.awt.*;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.*;
import java.awt.event.*;
public class calcu extends JFrame implements ActionListener,ItemListener{
    JLabel bq1,bq2,bq3;
    int index;
    JTextField wbk1,wbk2,wbk3;
    JButton an;
    JComboBox xlk;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        calcu a=new calcu();
    }
    public calcu(){
        bq1=new JLabel("操作数1:");
        bq2=new JLabel("操作数2:");
        bq3=new JLabel("计算类型: ");

        wbk1=new JTextField(10);
        wbk2=new JTextField(10);
        wbk3=new JTextField(10);

        String[] b={"+","-","*","/"};
        xlk=new JComboBox(b);

        an=new JButton("计算");

        GridBagLayout layout = new GridBagLayout();
        this.setLayout(layout);
        this.add(bq1);
        this.add(bq2);
        this.add(bq3);
        this.add(an);
        this.add(wbk1);
        this.add(wbk2);
        this.add(wbk3);
        this.add(xlk);
        an.addActionListener(this);
        an.setActionCommand("1");
        xlk.addItemListener(this);
        wbk1.addActionListener(this);
        wbk2.addActionListener(this);
        wbk3.addActionListener(this);
        GridBagConstraints s= new GridBagConstraints();
        s.fill = GridBagConstraints.BOTH;
        s.insets=new Insets(5,5,5,5);
        s.gridx=0;
        s.gridy=0;
        layout.setConstraints(bq1,s);
        s.gridx=0;
        s.gridy=1;
        layout.setConstraints(bq2,s);
        s.gridx=0;
        s.gridy=2;
        layout.setConstraints(bq3,s);
        s.gridx=0;
        s.gridy=3;
        layout.setConstraints(an,s);
        s.gridx=1;
        s.gridy=0;
        layout.setConstraints(wbk1,s);
        s.gridx=1;
        s.gridy=1;
        layout.setConstraints(wbk2,s);
        s.gridx=1;
        s.gridy=2;
        layout.setConstraints(xlk,s);
        s.gridx=1;
        s.gridy=3;
        layout.setConstraints(wbk3, s);

        this.setTitle("计算器");
        this.setSize(300,210);
        this.setLocation(500, 250);
        this.setResizable(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
        String word=wbk1.getText();
        int i=Integer.parseInt(word);
        String wor=wbk2.getText();
        int j=Integer.parseInt(wor);
        int f=0;
        switch(this.index){
        case 0:
            f=i+j;
            break;
        case 1:
            f=i-j;
            break;
        case 2:
            f=i*j;
            break;
        case 3:
            f=i/j;
            break;
        }
        String t= String.valueOf(f);
        if(e.getActionCommand().equals("1")){
            wbk3.setText(t);
        }
    }
    public void itemStateChanged(ItemEvent a){
        index=xlk.getSelectedIndex();
    }
}
#3
郑家兴2016-05-29 14:07
界面有的地方不太一样,基本功能可以实现,但是还是不完善。
#4
纳兰不羁2016-05-29 20:57
回复 3楼 郑家兴
好的,太感谢您了,我会好好研究的,再次谢谢你
#5
zzjvslove2016-05-31 09:23
这么厉害了、还新手啊
#6
郑家兴2016-05-31 16:47
真心不是很会呀
1