java与自动化的应用_【自动化__GUI自动化】__java__案例__java应用程序计算器

一、代码如下

package www.woniu.gui.one;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Point;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class MyCalc__Swing extends JFrame {

// 定义界面元素、完成初始化操作

private JPanel jpanel = new JPanel();

private JLabel jlable1 = new JLabel("运算数一");

private JLabel jlable2 = new JLabel("运算数二");

private JLabel jlable3 = new JLabel("运算类型");

private JLabel jlable4 = new JLabel("计算结果");

private JButton btnCalc = new JButton("计算");

private JButton btnClose = new JButton("关闭");

// 定义运算数一、运算数二

private JTextField txtNumberX = new JTextField("1");

private JTextField txtNumbery = new JTextField("2");

// 定义下拉框:加、减、乘、除

private JComboBox calcType = new JComboBox();

private JLabel lblResult = new JLabel("结果在此显示.......S");

public static void main(String[] args) {

// TODO Auto-generated method stub

MyCalc__Swing calc = new MyCalc__Swing();

calc.windowInit();

calc.buttonInvoke();

}

// 窗口初始化操作,设置元素大小、位置、初始值

private void windowInit() {

// TODO Auto-generated method stub

// 窗口基本属性

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setSize(420, 280);

this.setTitle("Java演示程序");

// 控件属性、窗口位置

jlable1.setSize(new Dimension(80, 20));

jlable1.setFont(new Font("Dialog", Font.BOLD, 12));

jlable1.setLocation(new Point(58, 40));

jlable2.setSize(new Dimension(80, 20));

jlable2.setLocation(new Point(58, 74));

jlable3.setSize(new Dimension(80, 20));

jlable3.setLocation(new Point(58, 108));

jlable4.setSize(new Dimension(80, 20));

jlable4.setLocation(new Point(58, 148));

txtNumberX.setLocation(new Point(162, 41));

txtNumberX.setName("txtNumberX");

txtNumberX.setSize(new Dimension(160, 21));

txtNumbery.setLocation(new Point(162, 74));

txtNumbery.setName("txtNumberY");

txtNumbery.setSize(new Dimension(160, 21));

// 为下拉框添4个加运算符

calcType.addItem("加法");

calcType.addItem("减法");

calcType.addItem("乘法");

calcType.addItem("除法");

calcType.setLocation(new Point(162, 108));

calcType.setName("calcType");

calcType.setSize(new Dimension(160, 21));

lblResult.setSize(new Dimension(150, 20));

lblResult.setName("lblResult");

lblResult.setBackground(Color.white);

lblResult.setLocation(new Point(162, 148));

btnCalc.setLocation(new Point(91, 190));

btnCalc.setName("btnCalc");

btnCalc.setSize(new Dimension(90, 21));

btnClose.setLocation(new Point(210, 190));

btnClose.setName("btnClose");

btnClose.setSize(new Dimension(80, 21));

// 将控件放到容器中

jpanel.setLayout(null);

jpanel.add(jlable1);

jpanel.add(jlable2);

jpanel.add(jlable3);

jpanel.add(jlable4);

jpanel.add(txtNumberX);

jpanel.add(txtNumbery);

jpanel.add(lblResult);

jpanel.add(btnCalc);

jpanel.add(btnClose);

jpanel.add(calcType);

this.add(jpanel);

}

// 执行运算和关闭应用程序

private void buttonInvoke() {

// TODO Auto-generated method stub

btnClose.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

doClose();

}

});

btnCalc.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double numberX = Double.parseDouble(txtNumberX.getText());

double numberY = Double.parseDouble(txtNumbery.getText());

double result = doCalc(numberX, numberY);

lblResult.setText(String.valueOf(result));

}

});

}

// 关闭应用程序

private void doClose() {

// TODO Auto-generated method stub

System.exit(1);

}

// 计算操作

public double doCalc(double x, double y) {

// TODO Auto-generated method stub

double result = 0;

if(calcType.getSelectedItem().equals("加法")) {

result= x + y;

}else if(calcType.getSelectedItem().equals("减法")) {

result= x - y;

}else if(calcType.getSelectedItem().equals("乘法")) {

result= x * y;

}else if(calcType.getSelectedItem().equals("除法")) {

result= x / y;

}

return result;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值