• 【自动化__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<String> calcType = new JComboBox<String>();
    	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;
    	}
    
    }
    
  • 相关阅读:
    [转]Windows管道系统
    [转]TCP连接的状态与关闭方式,及其对Server与Client的影响
    CreateProcess启动进程后,最好CloseHandle(pi.hProcess);CloseHandle(pi.hThread);
    [转]VC++ 通过进程名或进程ID获取进程句柄
    [装]解决sqlite3插入数据很慢的问题
    SublimeText3搭建go语言开发环境(windows)
    [转]完成端口(CompletionPort)详解 手把手教你玩转网络编程系列之三
    go语言疑问
    css中marginleft与left的区别
    jsp分页显示的代码与详细步骤
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/7482082.html
Copyright © 2020-2023  润新知