千米英里转换练习

/*千米转换英里,英里转换千米的练习。
 * */
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
//MileageConverter implements ActionListener 监听button,实现按钮被点击然后执行运算并输出结果。
public class MileageConverter implements ActionListener{
	final double TOMILE = 0.62137119223733; //千米转换英里的比,定义为常数好
	final double TOMETER = 1.609344;//英里转换千米的比
	static JLabel label;
	JCheckBox box1;
	JCheckBox box2;
	JTextField inputText;
	JTextField output;
	double converterMile,converterMeter;
	//计算千米转换为英里的方法,返回结果
	public double converterM1(double meter){
		 converterMile = meter * TOMILE;
		return converterMile;
	}
	//计算英里转换千米的方法,返回结果
	public double converterM2(double mile){
		converterMeter = mile * TOMETER;
		return converterMeter;
	}
	//创建用户界面
	public void setGui(){
		label = new JLabel("请输入正确的数据!");
		JFrame jframe = new JFrame();
		JPanel pane1 = new JPanel();
		JPanel pane2 = new JPanel();
	     box1 = new JCheckBox("转英里");
		 box2 = new JCheckBox("转千米");
		JButton button = new JButton("确定");
		inputText = new JTextField();
		output = new JTextField();
		pane1.add(box1);
		pane1.add(box2);
		button.addActionListener(this);
		jframe.getContentPane().add(BorderLayout.EAST,label);
		jframe.getContentPane().add(BorderLayout.WEST,pane1);
		jframe.getContentPane().add(BorderLayout.NORTH,inputText);
		jframe.getContentPane().add(BorderLayout.SOUTH,output);
		jframe.getContentPane().add(BorderLayout.CENTER,button);
		jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		label.setVisible(false);
		jframe.setSize(800,480);
		jframe.setVisible(true);
	}
	//实现ActionListener接口必须实现的actionPerformed方法,按钮事件触发后执行actionPerformed方法
	public void actionPerformed(ActionEvent event){
		if(box1.isSelected() == true){
		   box2.setSelected(false);
		   double argument;
		   String middle = inputText.getText();
     	  try{ argument = Double.parseDouble(middle);
		    middle = converterM1(argument) + "";
			output.setText("转换为英里为:" + middle);
     	  }
     	  catch(Exception ex){
     		  label.setVisible(true);
     	  }
		}
		else{
			box1.setSelected(false);
			double argument;
				String middle = inputText.getText();
			try{
				argument = Double.parseDouble(middle);
			middle = converterM2(argument) + "";
			output.setText("转换为千米为:" + middle);
		}
		catch(Exception ex){
			label.setVisible(true);
		}
	}
		}
	//主方法,程序入口
	public static void main(String [] args){
		MileageConverter go = new MileageConverter();
		try{
		go.setGui();
		}
		catch(Exception ex){
			label.setVisible(true);
		}
	}
}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值