Java 复数的加、减及乘法运算

Java 复数的加、减及乘法运算

界面的设计
监听器的实现
测试

界面的设计

咱先来看看界面效果:

其中“=”具有监听功能
话不多说,直接上代码:

JFrame jframe;
	JPanel jpanel1,jpanel2,jpanel3,jpanel4;
    JButton jbutton;
    Container container;
    JLabel jlabel1,jlabel2,jlabel3,jlabel4,jl1,jl2,jlabel5,jla5,jlab5,j1,j2,j3;
    JTextField jtextfield1,jtextfield2,jtextfield3,jtextfield4,jtextfield5;
    JTextArea jtextarea1,jtextarea2;
    public complexFrame() {
   	 jframe = new JFrame("复数计算");//标题
   	 jframe.setBounds(1200,200,600,400);//界面大小和位置
   	 container = jframe.getContentPane();
   	 jframe.addWindowListener(new WindowAdapter() {//关闭窗口
	    public void windowClosing(WindowEvent e)
		{
		 System.exit(0);
		}
		});
   	 jbutton = new JButton("=");
   	 jbutton.setFont(new Font("",1,30));//设置字体大小
   	 jlabel1 = new JLabel("复数1:");
   	 jlabel1.setFont(new Font("",1,30));//设置字体大小
   	 jlabel1.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jlabel2 = new JLabel("运算符:");
   	 jlabel2.setFont(new Font("",1,30));//设置字体大小
   	 jlabel2.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jlabel3 = new JLabel("复数2:");
   	 jlabel3.setFont(new Font("",1,30));//设置字体大小
   	 jlabel3.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jlabel4 = new JLabel("+");
   	 jlabel4.setFont(new Font("",1,30));//设置字体大小
   	 jlabel4.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jl1 = new JLabel("+");
   	 jl1.setFont(new Font("",1,30));//设置字体大小
   	 jl1.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jl2 = new JLabel("+");
   	 jl2.setFont(new Font("",1,30));//设置字体大小
   	 jl2.setHorizontalAlignment(JLabel.CENTER); //居中显示
   	 jlabel5 = new JLabel("i");
   	 jlabel5.setFont(new Font("",1,30));//设置字体大小
   	 jlabel5.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 jla5 = new JLabel("i");
   	 jla5.setFont(new Font("",1,30));//设置字体大小
   	 jla5.setHorizontalAlignment(JLabel.CENTER); //居中显示
   	 jlab5 = new JLabel("i");
   	 jlab5.setFont(new Font("",1,30));//设置字体大小
     jlab5.setHorizontalAlignment(JLabel.CENTER);//居中显示
   	 j1 = new JLabel();//为了调整界面设的空标签
   	 j2 = new JLabel();//为了调整界面设的空标签
   	 j3 = new JLabel();//为了调整界面设的空标签
   	 jtextfield1 = new JTextField(100);
   	 jtextfield1.setFont(new Font("",1,30));//设置字体大小
   	 jtextfield1.setHorizontalAlignment(JTextField.CENTER);//输入的字符居中显示
   	 jtextfield2 = new JTextField();
   	 jtextfield2.setFont(new Font("",1,30));//设置字体大小
   	 jtextfield2.setHorizontalAlignment(JTextField.CENTER);//输入的字符居中显示
   	 jtextfield3 = new JTextField();
   	 jtextfield3.setFont(new Font("",1,30));//设置字体大小
   	 jtextfield3.setHorizontalAlignment(JTextField.CENTER);//输入的字符居中显示
   	 jtextfield4 = new JTextField();
   	 jtextfield4.setFont(new Font("",1,30));//设置字体大小
   	 jtextfield4.setHorizontalAlignment(JTextField.CENTER);//输入的字符居中显示
   	 jtextfield5 = new JTextField();
   	 jtextfield5.setFont(new Font("",1,30));//设置字体大小
   	 jtextfield5.setHorizontalAlignment(JTextField.CENTER);//输入的字符居中显示
   	 jtextarea1 = new JTextArea();
   	 jtextarea1.setFont(new Font("",1,30));//设置字体大小 
   	 jtextarea2 = new JTextArea();
   	 jtextarea2.setFont(new Font("",1,30));//设置字体大小
   	 jpanel1 = new JPanel();
   	 jpanel2 = new JPanel();
   	 jpanel3 = new JPanel();
   	 jpanel4 = new JPanel();
   	 jpanel1.setLayout(new GridLayout(1,5));
   	 jpanel1.add(jlabel1);jpanel1.add(jtextfield1);jpanel1.add(jl1);jpanel1.add(jtextfield2);jpanel1.add(jla5);
   	 jpanel2.setLayout(new GridLayout(1,5));
   	 jpanel2.add(jlabel2);jpanel2.add(j1);jpanel2.add(jtextfield3);jpanel2.add(j2);jpanel2.add(j3);
   	 jpanel3.setLayout(new GridLayout(1,5));
   	 jpanel3.add(jlabel3);jpanel3.add(jtextfield4);jpanel3.add(jl2);jpanel3.add(jtextfield5);jpanel3.add(jlab5);
   	 jpanel4.setLayout(new GridLayout(1,5));
   	 jpanel4.add(jbutton);jpanel4.add(jtextarea1);jpanel4.add(jlabel4);jpanel4.add(jtextarea2);jpanel4.add(jlabel5);
   	 container.setLayout(new GridLayout(4,1));
	 container.add(jpanel1);
	 container.add(jpanel2);
	 container.add(jpanel3);
	 container.add(jpanel4);
   	 jframe.setVisible(true);
   	 jbutton.addActionListener(this);//给“=”按钮建立监听器

监听器的实现

public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource()==jbutton)
		{
			int x,y,a,b;
			x = new Integer(jtextfield1.getText());
			a = new Integer(jtextfield2.getText());
			String s = jtextfield3.getText();
			y = new Integer(jtextfield4.getText());
			b = new Integer(jtextfield5.getText());
			if(s.equals("+"))//做加法运算
			{
				jtextarea1.setText(String.valueOf(x+y));
			    jtextarea2.setText(String.valueOf(a+b));
			}
			else if(s.equals("-"))//做减法运算
			{
				jtextarea1.setText(String.valueOf(x-y));
			    jtextarea2.setText(String.valueOf(a-b));
			}
			else if(s.equals("*"))//做乘法运算
			{
				jtextarea1.setText(String.valueOf(x*y-a*b));
				jtextarea2.setText(String.valueOf(x*b+y*a));
			}
			else
			{
				//不做任何操作
			}
			
		}
		else
		{
			//不做任何操作
		}
	}

测试

public class complexTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       new complexFrame();
	}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值