/*千米转换英里,英里转换千米的练习。 * */ 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); } } }
千米英里转换练习
最新推荐文章于 2023-01-20 17:45:31 发布