Java学习记录(6)版本升级

前言

大二开始学JAVA了,想把自己写的程序记录一下,见证自己的进步


任务

Java实现四则运算器,升级版,用单选按钮实现四则运算。

代码

图形界面样例如下:

在这里插入图片描述

代码如下:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Calculator {
	JFrame jf = null;
	JPanel jpNorth = null;
	JPanel jpCenter = null;
	JPanel jpSouth = null;
	JPanel center1 = null;
	JPanel center2 = null;

	JRadioButton plus = null;
	JRadioButton minus = null;
	JRadioButton multi = null;
	JRadioButton division = null;

	JTextField jt1 = null;
	JTextField jt2 = null;

	JLabel sign = null;
	JLabel equalSign = null;
	JLabel ans = null;
	JLabel versionAndCopyright = null;
	JLabel instruction = null;

	JButton jb = null;
	JButton reset = null;

	ButtonGroup gp = new ButtonGroup();

	Calculator() {
		jf = new JFrame("四则计算器V1.1.0     作者BeiyingC");
		jf.setSize(500, 200);
		jf.setLocationRelativeTo(null);
		jf.setResizable(false);

		jpNorth = new JPanel();
		jpCenter = new JPanel();
		jpSouth = new JPanel();
		center1 = new JPanel();
		center2 = new JPanel();

		jf.add(BorderLayout.NORTH, jpNorth);
		jf.add(BorderLayout.CENTER, jpCenter);
		jf.add(BorderLayout.SOUTH, jpSouth);

		instruction = new JLabel("请选择您要进行的运算并在框中输入想要计算的实数                     ");
		reset = new JButton("重置");
		reset.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				jt1.setText("");
				jt2.setText("");
				ans.setText("");

			}
		});

		jpNorth.add(instruction);
		jpNorth.add(reset);

		jt1 = new JTextField(14);
		jt2 = new JTextField(14);

		sign = new JLabel("+");

		equalSign = new JLabel("=");

		ans = new JLabel("                ");
		jb = new JButton("计算");
		jb.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				try {
				if (plus.isSelected()) {
					double ans123 = Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText());
					ans.setText(""+ans123);
				}
				else if(minus.isSelected()) {
					double ans123 = Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText());
					ans.setText(""+ans123);
					
				}
				else if(multi.isSelected()) {
					double ans123 = Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText());
					ans.setText(""+ans123);
				}
				else if(division.isSelected()) {
					double ans123 = Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText());
					ans.setText(""+ans123);
				}
				}
				catch(NumberFormatException e66) {
					JDialog dialog = new JDialog(jf,"错误",true);
					dialog.setSize(100, 50);
					JLabel jkl = new JLabel("请输入整数谢谢!");
					dialog.add(jkl);
					dialog.setLocationRelativeTo(null);
					dialog.setVisible(true);
					
					
				}
				catch(Exception klj) {
					JDialog dial = new JDialog(jf,"错误",true);
					dial.setSize(100, 50);
					JLabel jkl = new JLabel("程序运行出错");
					dial.add(jkl);
					dial.setLocationRelativeTo(null);
					dial.setVisible(true);
				}
			}
		});

		plus = new JRadioButton("加法",true);
		plus.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				sign.setText("+");
			}
		});
		minus = new JRadioButton("减法");
		minus.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				sign.setText("-");
			}
		});
		multi = new JRadioButton("乘法");
		multi.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				sign.setText("×");
			}
		});
		division = new JRadioButton("除法");
		division.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				sign.setText("÷");
			}
		});

		gp.add(plus);
		gp.add(minus);
		gp.add(multi);
		gp.add(division);

		jpCenter.setLayout(new GridLayout(2, 1));
		jpCenter.add(center1);
		jpCenter.add(center2);

		center1.add(jt1);
		center1.add(sign);
		center1.add(jt2);
		center1.add(equalSign);
		center1.add(ans);
		center1.add(jb);
		center2.add(plus);
		center2.add(minus);
		center2.add(multi);
		center2.add(division);

		versionAndCopyright = new JLabel("Version:1.1.0        Copyright@BeiyingC");
		jpSouth.add(versionAndCopyright);

		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public static void main(String[] args) {
		@SuppressWarnings("unused")
		Calculator calculator1 = new Calculator();

	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值