java fx 计算器

阅读: 评论:0

java fx 计算器

java fx 计算器

可惜放学了,明天再整理,先上张图吧:

package com.wk.view;

import com.wk.cal.CalAdd;

import com.wk.cal.CalDiv;

import com.wk.cal.CalMul;

import com.wk.cal.CalSub;

import del.Operator;

import javafx.fxml.FXML;

import l.Button;

import l.TextField;

/**

* Created by suowei on 2015/10/13.

*/

public class CalcuController {

@FXML Button btnAdd,btnSub,btnMul,btnDiv,btnClear,btnResult;

@FXML Button btnNum1,btnNum2,btnNum3,btnNum4,btnNum5,btnNum6,btnNum7,btnNum8,btnNum9,btnNum0;

@FXML TextField textResult = new TextField();

String num1,num2;

private double n1,n2;

// 实例化计算加法的类

private CalAdd calAdd = new CalAdd();

// 实例化计算减法的类

private CalSub calSub = new CalSub();

// 实例化计算乘法的类

private CalMul calMul = new CalMul();

// 实例化计算除法的类

private CalDiv calDiv = new CalDiv();

// 定义 加减乘除四个字符串 , jdk 7 新特性

final String add ="┼",sub="─",mul="×",div="÷";

// 创建一个cal_operator 作为switch语句的参数

String cal_operator;

public void setbtnAddAction(){

// 此方法是 用户点击+号按钮的方法,当用户点击这个按钮以后,首先要获取到用户输入的文本

num1 = Text();

// 然后清空,以供用户第二次输入

textResult.setText("");

// 当用户点击 = 号按钮的时候 , switch 语句可以知道 用户执行的是 加法 下面 减法 乘法 ,除法 类似,就不写了

cal_operator = Text();

}

public void setBtnSubAction(){

num1 = Text();

textResult.setText("");

cal_operator = Text();

}

public void setBtnMulAction(){

num1 = Text();

textResult.setText("");

cal_operator = Text();

}

public void setBtnDivAction(){

num1 = Text();

textResult.setText("");

cal_operator = Text();

}

public void setBtnClearAction(){

// 清空按钮的执行方法,没什么好说的啦 设置文本的值为空

textResult.setText("");

}

public void setBtnResultAction(){

// = 号按钮 的事件方法: 获取用户第二次输入的数字值 将他的值传递给 num2

num2 = Text();

// 然后清空文本,当程序计算出结果以后 再显示

textResult.setText("");

// 此方法为重中之重 当用点击 加减乘除 四个任意按钮,此方法将会检测到,并执行对应的方

n1 = new Double(num1);

n2 = new Double(num2);

OperationFactory factory = new OperationFactory();

}

public void finalCaluator(String operator) {

// 实例化 计算 加减乘除 方法的参数 n1,n2, 把 用户第一次和第二次输入的值分别付给他们

/* switch (operator){

// 当用户选择 + 号按钮时执行的方法. 以下相似

case add: textResult.Result(n1,n2).toString());

break; //这里替换成为工厂模式,利用工厂模式来 实例化对象;

case sub: textResult.Result(n1,n2).toString());

break;

case mul: textResult.Result(n1,n2).toString());

break;

case div: checkDivNumAction();

textResult.Result(n1,n2).toString());

break;

}*/

}

public void setBtnNum0Action(){

// 按钮 0 的事件

textResult.Text()+"0");

}

public void setBtnNum1Action(){

// 按钮 1 的事件

textResult.Text()+"1");

}

public void setBtnNum2Action(){

// 按钮 2 的事件

textResult.Text()+"2");

}

public void setBtnNum3Action() {

// 按钮 3 的事件

textResult.Text()+"3");

}

public void setBtnNum4Action(){

// 按钮 4 的事件

// 以下类似太累了,就不写了...

textResult.Text()+"4");

}

public void setBtnNum5Action(){

textResult.Text()+"5");

}

public void setBtnNum6Action(){

textResult.Text()+"6");

}

public void setBtnNum7Action(){

textResult.Text()+"7");

}

public void setBtnNum8Action(){

textResult.Text()+"8");

}

public void setBtnNum9Action() {

textResult.Text()+"9");

}

/**

* 工厂一的参数传递方式决定了它只能在 -----类n内使用

*/

class OperationFactory {

public Operator createOperation(String operator){

final String add ="┼",sub="─",mul="×",div="÷";

Operator operator1 = null;

switch (operator){

case add: operator1 = new CalAdd();

textResult.Result(n1, n2).toString());

break;

case sub: operator1 = new CalSub();

textResult.Result(n1,n2).toString());

break;

case mul: operator1 = new CalMul();

textResult.Result(n1,n2).toString());

break;

case div: operator1 = new CalDiv();

textResult.Result(n1,n2).toString());

break;

}

return operator1;

}

}

/**

*

*/

}

这个是控制器代码,感兴趣的可以自己研究的啦..

本文发布于:2024-03-09 10:24:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1710224836135494.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算器   java   fx
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23