java图形用户界面设计实验_Java语言程序设计 上机实验6 掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法...

本文通过一个Java程序展示了如何设计一个简单的整数计算器,利用图形用户界面(GUI),包括文本框、组合框和事件监听器,实现了加减乘除运算,并处理了除数为零的情况。
摘要由CSDN通过智能技术生成

packagecom.Test6;import java.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;import javax.swing.*;public class Test6 extends JFrame implementsActionListener{privateJTextField tex1,tex2,fin;privateJLabel jl;privateMessageJDialog jd;privateJComboBox box;private static String fuhao[]={"+","-","*","/"};inti;publicTest6(){super("整数计算器");this.setBounds(300,240,420,80);this.setResizable(false);this.setBackground(java.awt.Color.lightGray);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.getContentPane().setLayout(newFlowLayout(FlowLayout.LEFT));

tex1=new JTextField(10);this.getContentPane().add(tex1);

tex1.setHorizontalAlignment(JTextField.LEFT);

tex1.addActionListener(this);

box=new JComboBox(fuhao);

box.addActionListener(this);

box.setEditable(false);this.getContentPane().add(box);

tex2=new JTextField(10);this.getContentPane().add(tex2);

tex2.setHorizontalAlignment(JTextField.LEFT);

tex2.addActionListener(this);

jl=new JLabel("=");this.getContentPane().add(jl);

jl.setHorizontalAlignment(JTextField.LEFT);

fin=new JTextField(10);this.getContentPane().add(fin);

fin.setHorizontalAlignment(JTextField.LEFT);

fin.setEditable(false);

fin.addActionListener(this);

jd=new MessageJDialog(this);this.setVisible(true);

}private class MessageJDialog extendsJDialog

{

JLabel jla;

JFrame Frame;

MessageJDialog(JFrame Frame)

{super(Frame,"警告",true);this.Frame=Frame;this.setSize(300,80);

jla=new JLabel("111",JLabel.CENTER);this.getContentPane().add(jla);this.setDefaultCloseOperation(HIDE_ON_CLOSE);

}voidshow(String message)

{

jla.setText(message);this.setLocation(Frame.getX()+100,Frame.getY()+100);this.setVisible(true);

}

}public voidactionPerformed(ActionEvent a){if(a.getSource()==box)

{

i=box.getSelectedIndex();

}if(a.getSource()==tex2||a.getSource()==tex1)

{

String str= null;try{if(i==0)

{

Integer x=Integer.parseInt(tex1.getText());

Integer y=Integer.parseInt(tex2.getText());

str=Integer.toString(x+y);

}else if(i==1)

{

Integer x=Integer.parseInt(tex1.getText());

Integer y=Integer.parseInt(tex2.getText());

str=Integer.toString(x-y);

}else if(i==2)

{

Integer x=Integer.parseInt(tex1.getText());

Integer y=Integer.parseInt(tex2.getText());

str=Integer.toString(x*y);

}else if(i==3)

{

Integer x=Integer.parseInt(tex1.getText());

Integer y=Integer.parseInt(tex2.getText());if(y==0)

{

jd.show("除数不能为0");

tex1.setText("");

tex2.setText("");

fin.setText("");

}elsestr=Integer.toString(x/y);

}

fin.setText(str);

}catch(NumberFormatException e1)

{

jd.show("请输入整数");

tex1.setText("");

tex2.setText("");

fin.setText("");

}finally{};/*try{

int x=Integer.parseInt(tex1.getText());

int y=Integer.parseInt(tex2.getText());

if(box.getSelectedIndex()==0)

fin.setText(Integer.toString(x+y));

if(box.getSelectedIndex()==1)

fin.setText(Integer.toString(x-y));

if(box.getSelectedIndex()==2)

fin.setText(Integer.toString(x*y));

if(box.getSelectedIndex()==3&&tex2.getText()!="0")

fin.setText(Integer.toString(x/y));

}

catch(NumberFormatException e1){

jla.show("您输入的字符不能转换成整型,请重新输入!");

}*/}

}public static voidmain(String[] args){//TODO Auto-generated method stub

newTest6();

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值