Java swing编程例子1—计算器

Java swing编程练习1--计算器

方法比较笨,希望大佬提供简约版

package swingtest;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 * 实现计算功能
 * @author Administrator
 *
 */
public class Calculator {
	
	public static void main(String[] args) {
		JFrame frame = new JFrame("Calculator Example");
		frame.setSize(480, 430);
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    JPanel panel = new JPanel();    
        // 添加面板
        frame.add(panel);
        CalculatorTest(panel);
        // 设置界面可见
        frame.setVisible(true);
	}
	private static void CalculatorTest(JPanel panel) {

        panel.setLayout(null);
        /* 
         * 创建文本域用于操作数1
         */
        JTextField Text = new JTextField(40);
        Text.setBounds(40,40,60,40);
        panel.add(Text);
        
        //用于创建符号
        JLabel textLabel = new JLabel("");
        textLabel.setBounds(120,40,60,40);
        panel.add(textLabel);
        
        //操作数2
        JTextField Text1 = new JTextField(40);
        Text1.setBounds(200,40,60,40);
        panel.add(Text1);

        //运算结果
        JTextField TextEnd = new JTextField(20);
        TextEnd.setBounds(280,40,60,40);
        panel.add(TextEnd);
        /* 
         *这个类似用于输入的文本域
         * 但是输入的信息会以点号代替,用于包含密码的安全性
         */
        
        // 创建加按钮
        JButton addButton = new JButton("+");
        addButton.setBounds(40, 100, 60, 35);
        panel.add(addButton);
        addButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String addend = getButton(addButton);
            	textLabel.setText(addend);
            }
        });
        
        //创建减按钮
        JButton subButton = new JButton("-");
        subButton.setBounds(40, 170, 60, 35);
        panel.add(subButton);
        subButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String addend = getButton(subButton);
            	textLabel.setText(addend);
            }
        });
        
        //创建乘按钮
        JButton rideButton = new JButton("x");
        rideButton.setBounds(40, 240, 60, 35);
        panel.add(rideButton);
        rideButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String addend = getButton(rideButton);
            	textLabel.setText(addend);
            }
        });
        
        //创建除按钮
        JButton divideButton = new JButton("÷");
        divideButton.setBounds(40, 310, 60, 35);
        panel.add(divideButton);
        divideButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String addend = getButton(divideButton);
            	textLabel.setText(addend);
            }
        });
        
        //复位键
        JButton ACButton = new JButton("AC");
        ACButton.setBounds(360, 40, 60, 305);
        panel.add(ACButton);
        ACButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	Text.setText(null);
            	textLabel.setText("");
            	Text1.setText(null);
            	TextEnd.setText(null);
            }
        });
        
        //数字键盘
        //1-3
        JButton Button1 = new JButton("1");
        Button1.setBounds(120, 240, 60, 35);
        panel.add(Button1);
        Button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button1);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button1);
            		Text1.setText(text);
				}
            	
            }
        });
        JButton Button2 = new JButton("2");
        Button2.setBounds(200, 240, 60, 35);
        panel.add(Button2);
        Button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button2);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button2);
            		Text1.setText(text);
				}
            }
        });
        JButton Button3 = new JButton("3");
        Button3.setBounds(280, 240, 60, 35);
        panel.add(Button3);
        Button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button3);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button3);
            		Text1.setText(text);
				}
            }
        });
        
        //4-6
        JButton Button4 = new JButton("4");
        Button4.setBounds(120, 170, 60, 35);
        panel.add(Button4);
        Button4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button4);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button4);
            		Text1.setText(text);
				}
            }
        });
        JButton Button5 = new JButton("5");
        Button5.setBounds(200, 170, 60, 35);
        panel.add(Button5);
        Button5.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button5);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button5);
            		Text1.setText(text);
				}
            }
        });
        JButton Button6 = new JButton("6");
        Button6.setBounds(280, 170, 60, 35);
        panel.add(Button6);
        Button6.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button6);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button6);
            		Text1.setText(text);
				}
            }
        });
        
        //7-9
        JButton Button7 = new JButton("7");
        Button7.setBounds(120, 100, 60, 35);
        panel.add(Button7);
        Button7.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button7);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button7);
            		Text1.setText(text);
				}
            }
        });
        JButton Button8 = new JButton("8");
        Button8.setBounds(200, 100, 60, 35);
        panel.add(Button8);
        Button8.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button8);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button8);
            		Text1.setText(text);
				}
            }
        });
        JButton Button9 = new JButton("9");
        Button9.setBounds(280, 100, 60, 35);
        panel.add(Button9);
        Button9.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button9);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button9);
            		Text1.setText(text);
				}
            }
        });
        
        //.0=
        JButton Button = new JButton(".");
        Button.setBounds(120, 310, 60, 35);
        panel.add(Button);
        Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button);
            		Text1.setText(text);
				}
            }
        });
        JButton Button0 = new JButton("0");
        Button0.setBounds(200, 310, 60, 35);
        panel.add(Button0);
        Button0.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = null;
            	if (getTextl(textLabel)== "") {
            		text = getText(Text)+getButton(Button0);
            		Text.setText(text);
            	}else if (getTextl(textLabel)!= "") {
					text = getText(Text1)+getButton(Button0);
            		Text1.setText(text);
				}
            }
        });
        JButton Buttonn = new JButton("=");
        Buttonn.setBounds(280, 310, 60, 35);
        panel.add(Buttonn);
        Buttonn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
            	String text = methodCalculator(Text,Text1,textLabel)+"";
            	TextEnd.setText(text);
            }
        });
        
    }
	//获取文本框的类容
	public static String getText(JTextField Text){
        //执行Add方法
		return Text.getText();
    }
	//获取标签值
	public static String getTextl(JLabel textLabel){
        //执行Add方法
		return textLabel.getText();
    }
	
	//获取按键数字
	public static String getButton(JButton Button){
        //执行Add方法
		return Button.getText();
    }
	
	//计算
	public static double methodCalculator(JTextField Text,JTextField Text1,JLabel textLabel){
        //执行Add方法
		double num1 = Double.parseDouble(getText(Text));
		double num2 = Double.parseDouble(getText(Text1));
		if (textLabel.getText().equals("+")) {
			return (num1+num2);
		}else if (textLabel.getText().equals("-")) {
			return (num1-num2);
		}else if (textLabel.getText().equals("x")) {
			return (num1*num2);
		}else if (textLabel.getText().equals("÷")) {
			if (num2 == 0) {
				return 0;
			}else {
				return (num1/num2);
			}
		}else {
			return 0;
		}
		
    }
	
}

运行效果图

欢迎关注熊熊出没ING公众号,不定时跟新Java、python、信息安全等相关知识哦。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值