使用java组件做一个复数计算器

首先,建三个类:一个组件类,一个类(将文本框与字符封装起来),一个复数类。下面是组件类的代码:

package b;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class JComplex extends JFrame implements ActionListener{

//设置组件

public JComboBox combox_add,combox_minus;

private static String[] add={"+","-"};

private static String[] minus={"+","-"};

private JButton button_equal;

//建面板类的对象

ComJPanel x1=new ComJPanel();

ComJPanel x2=new ComJPanel();

ComJPanel x3=new ComJPanel();

ComJPanel result=new ComJPanel();

public JComplex()

{

super("复数运算器");

this.setLayout(null);

this.setSize(400,220);

this.setLocationRelativeTo(null);

//添加组件

this.add(this.combox_add=new JComboBox(JComplex.add));

this.add(this.combox_minus=new JComboBox(JComplex.minus));

this.add(this.button_equal=new JButton("="));

this.add(x1);

this.add(x2);

this.add(x3);

this.add(result);

//设置组件的距离和大小

combox_add.setBounds(20, 70, 60, 30);

combox_minus.setBounds(20, 110, 60, 30);

button_equal.setBounds(20, 150, 60, 30);

x1.setBounds(100, 5, 300, 50);

x2.setBounds(100, 50, 300, 50);

x3.setBounds(100, 100, 300, 50);

result.setBounds(100, 150, 300, 50);

//设置动作监听

combox_add.addActionListener(this);

combox_minus.addActionListener(this);

button_equal.addActionListener(this);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{//获取文本框的内容

String s1=x1.text_real.getText();

String s2=x1.text_i.getText();

String s3=x2.text_real.getText();

String s4=x2.text_i.getText();

String s5=x3.text_real.getText();

String s6=x3.text_i.getText();

//建复数类的对象

Complex c1=new Complex(s1,s2);

Complex c2=new Complex(s3,s4);

Complex c3=new Complex(s5,s6);

//动作响应

if(e.getSource().equals(combox_add))

{

if(combox_add.getSelectedItem().equals("+"))

combox_add.setSelectedItem("+");

else if(combox_add.getSelectedItem().equals("-"))

combox_add.getSelectedItem().equals("-");

}

if(e.getSource().equals(combox_minus))

{

if(combox_minus.getSelectedItem().equals("+"))

combox_minus.setSelectedItem("+");

else if(combox_minus.getSelectedItem().equals("-"))

combox_minus.setSelectedItem("-");

}

if(e.getSource().equals(button_equal))

{

if(combox_add.getSelectedItem().equals("+"))

{

c1.add(c2);

}

else if(combox_add.getSelectedItem().equals("-"))

{

c1.minus(c2);

}

if(combox_minus.getSelectedItem().equals("+"))

{

c1.add(c3);

}

else if(combox_minus.getSelectedItem().equals("-"))

{

c1.minus(c3);

}

}

result.text_real.setText(Double.toString(c1.x));

result.text_i.setText(Double.toString(c1.y));

}

public static void main(String []args)

{

new JComplex();

}

}

class ComJPanel extends JPanel {

private JLabel label_add,label_i;

JTextField text_real,text_i;

String s1,s2;

public ComJPanel()

{//面板类

this.setLayout(null);

this.add(this.text_real=new JTextField());

this.add(this.label_add=new JLabel("+"));

this.add(this.text_i=new JTextField());

this.add(this.label_i=new JLabel("i"));

text_real.setBounds(20,0,100,30);

text_i.setBounds(150,0,100, 30);

label_add.setBounds(130,0,20, 25);

label_i.setBounds(260,0,20, 25);

}

}

复数类就是简单的复数类,就不贴代码啦

java计算器取负数_JAVA-复数计算器相关推荐

  1. java 二进制 表示负数_java中的负数表示

    下面这行代码的输出是什么? 1 public static void main(String[] args) { 2 System.out.println(0xffffffff); 3 } 下面两行代 ...

  2. java除数取余_Java中的相除(/)和取余(%)的实现方法|chu

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...

  3. java向上取整函数_java取整函数,向上取整函数Math.ceil()

    你知道java取整函数要怎样实现吗?下面要给大家分享的是java向上取整函数的相关内容,一起来了解一下具体的方法吧! java向上取整函数Math.ceil():double dividend = 7 ...

  4. java计算器取余_Java计算器的制作与完善

    一.Java计算器v1.0 要求:完成整数的加减乘除以及取余运算. 代码: package com.neusoft.homework; import java.util.Scanner; public ...

  5. java计算器界面布局_java编写计算器界面

    展开全部 以前32313133353236313431303231363533e78988e69d8331333262363038我自己的实验作业 import java.awt.*; import ...

  6. java 计算器 小程序_java 学习 ——计算器小程序

    简易计算器小程序代码: package jisuanqi; //声明须要插入的包 import java.awt.*; import java.lang.Object; import java.lan ...

  7. java 向上取整_java 中的异常处理和常用类使用

    一.异常: 1.异常的简单介绍: Throwable类 / Error Exception | | Unchecked Checked Runtime Exception Exception Exce ...

  8. java list取值_Java集合详解

    一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...

  9. java数字取反_java中源码反码补码与取反的理解

    数字在计算机里是按照二进制来表示的. 箭头朝哪边就是朝哪边移动 补码,反码,和源码 负数原码转化为补码:符号位不变,数值位按位取反,末尾加一. 负数补码转化为原码:符号位不变,数值位按位取反,末尾加1 ...

  10. java的取整_Java取整方法总结

    package com.hit; import java.math.BigDecimal; public class MathRounding { /** * * 项目名称: Java取整方法 * 包 ...

最新文章

  1. 博客作业03--栈和队列
  2. 倍增时间 倍增...?
  3. 【SQLAlchemy】PostgreSQL的自增长主键定义
  4. 手机端网站测试用什么软件,3款优秀的移动webAPP网站在线测试工具推荐
  5. filter my task = true implementation logic
  6. har文件解析工具_嵌入式MCU也能跑AI?STM32 Cube.AI工具包使用初探
  7. Spring Cloud Consul 基础使用介绍
  8. WPF中播放Flash动画
  9. 宋体、代码-iOS网络编程实践--NSStream实现TCP Socket iPhone客户端-by小雨
  10. 用c 语言创建web项目,使用Maven创建Web应用程序项目
  11. 判断数组中是否包含某一项 indexof 重复的判断不准_「JavaScript」: 老生常谈,数组类型...
  12. 电力拖动(工厂电气控制)实验装置
  13. 联想Y450 gt130m显卡驱动安装
  14. springboot获取国家法定节假日
  15. WPS的JS宏设置文档的表格底色
  16. kali linux CC搭建教程,kali linux初次安装配置
  17. 风控决策引擎——决策流路径规划
  18. linux篇【12】:网络套接字<前序>—网络基础+udp套接字
  19. 【行业应用】浅谈AI如何在电力行业落地
  20. 用c#开发微信 (15) 微活动 1 大转盘

热门文章

  1. 计算机组成原理GLK,计算机组成原理课件第一讲.ppt
  2. 涉密打印机与设密计算机之间采用,涉密打印机与涉密计算机之间 - 作业在线问答...
  3. 视频后期剪辑,怎样在视频画面上添加滚动字幕
  4. 如何防止局域网病毒春风吹又生--之一
  5. 什么?都1202年了还不懂k8s和容器的关系?!这份k8s指南快拿走不谢!
  6. 在OpenCV里深入浅出地实现简单车道检测
  7. 我的系統中存在的问题
  8. 【已解决】C盘-系统引导盘扩大容量
  9. matlab人脸重建,3D人脸重建: BFM结合表情模型
  10. UPC 备战省赛第六场 Bumped!