用java SWT制作的一个模仿微软的计算器,1000行代码!

来源:互联网 发布:养成类游戏源码 编辑:程序博客网 时间:2024/06/06 08:33
package Calculator;import java.text.DecimalFormat;/*  本作品由西南大学荣昌校区09计科2班       杨晓骏    制作     */public class Calculator extends SelectionAdapter implements VerifyListener{protected Shell shell;private Text text;private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());private Composite composite;private Composite composite_1;private Button btnNewButton;private Button btnNewButton_1;private Button btnNewButton_2;private Button btnNewButton_3;private Button Number_1;private Button Number_2;private Button Number_3;private Button btnNewButton_7;private Button Number_4;private Button Number_5;private Button Number_6;private Button btnNewButton_11;private Button Number_7;private Button Number_8;private Button Number_9;private Button btnNewButton_15;private Button Number_0;private Button btnNewButton_17;private Button btnNewButton_18;private Button btnNewButton_19;private Button btnNewButton_20;private Button btnNewButton_21;private Button btnNewButton_22;private Button btnNewButton_23;private Button btnNewButton_24;private Button btnNewButton_25;private Button btnNewButton_26;private DecimalFormat df;private boolean click_Flag = true;boolean isContinue = false;private double memory_Data;private double middle, result;private short key = -1, prekey = -1;private boolean isInclude, isInputNumber = false;private Text text_1;private Text text_2;private Menu menu;private MenuItem mntmNewSubmenu;private Menu menu_1;private MenuItem mntmNewItem;private String s;/** * Launch the application. *  * @param args */public static void main(String[] args) {try {new Calculator();} catch (Exception e) {e.printStackTrace();}}public Calculator() {Display display = Display.getDefault(); // 构造界面shell = new Shell(SWT.CLOSE | SWT.MIN);shell.setImage(SWTResourceManager.getImage(Calculator.class,"/org/eclipse/jface/dialogs/images/help.gif"));shell.setAlpha(255);shell.setSize(396, 755);shell.setText("\u5C0F\u7070\u72FC\u8BA1\u7B97\u5668");shell.setLayout(new FormLayout());composite = new Composite(shell, SWT.NONE);composite.setLayout(new FormLayout());FormData fd_composite = new FormData();fd_composite.top = new FormAttachment(0);fd_composite.left = new FormAttachment(0);fd_composite.right = new FormAttachment(100);composite.setLayoutData(fd_composite);composite_1 = new Composite(shell, SWT.NONE);fd_composite.bottom = new FormAttachment(100, -469);FormData fd_composite_1 = new FormData();fd_composite_1.top = new FormAttachment(composite, 6);fd_composite_1.bottom = new FormAttachment(100, -10);fd_composite_1.left = new FormAttachment(0);fd_composite_1.right = new FormAttachment(100);text = new Text(composite, SWT.BORDER | SWT.RIGHT);text.setText("0");text.setEditable(false);text.addVerifyListener(this);text.setFont(SWTResourceManager.getFont("微软雅黑", 48, SWT.BOLD));text.setTextLimit(15);text.setBackground(SWTResourceManager.getColor(255, 255, 204));FormData fd_text = new FormData();fd_text.bottom = new FormAttachment(0, 86);fd_text.top = new FormAttachment(0);fd_text.left = new FormAttachment(0);fd_text.right = new FormAttachment(100);text.setLayoutData(fd_text);btnNewButton = new Button(composite, SWT.NONE);btnNewButton.addSelectionListener(this);btnNewButton.setFont(SWTResourceManager.getFont("微软雅黑", 48, SWT.BOLD));btnNewButton.setText("\u2192");FormData fd_btnNewButton = new FormData();btnNewButton.setLayoutData(fd_btnNewButton);formToolkit.adapt(btnNewButton, true, true);btnNewButton_1 = new Button(composite, SWT.NONE);fd_btnNewButton.right = new FormAttachment(btnNewButton_1, -6);btnNewButton_1.addSelectionListener(this);btnNewButton_1.setFont(SWTResourceManager.getFont("微软雅黑", 28, SWT.BOLD));FormData fd_btnNewButton_1 = new FormData();fd_btnNewButton_1.left = new FormAttachment(0, 232);btnNewButton_1.setLayoutData(fd_btnNewButton_1);formToolkit.adapt(btnNewButton_1, true, true);btnNewButton_1.setText("CE");btnNewButton_2 = new Button(composite, SWT.NONE);fd_btnNewButton_1.right = new FormAttachment(100, -85);btnNewButton_2.addSelectionListener(this);btnNewButton_2.setFont(SWTResourceManager.getFont("微软雅黑", 28, SWT.BOLD));FormData fd_btnNewButton_2 = new FormData();fd_btnNewButton_2.left = new FormAttachment(btnNewButton_1, 6);fd_btnNewButton_2.right = new FormAttachment(100, -6);btnNewButton_2.setLayoutData(fd_btnNewButton_2);formToolkit.adapt(btnNewButton_2, true, true);btnNewButton_2.setText("C");text_1 = new Text(composite, SWT.BORDER | SWT.CENTER);fd_btnNewButton_2.bottom = new FormAttachment(text_1, 70, SWT.BOTTOM);fd_btnNewButton_1.bottom = new FormAttachment(text_1, 70, SWT.BOTTOM);fd_btnNewButton_2.top = new FormAttachment(text_1, 6);fd_btnNewButton_1.top = new FormAttachment(text_1, 6);fd_btnNewButton.bottom = new FormAttachment(text_1, 70, SWT.BOTTOM);fd_btnNewButton.top = new FormAttachment(text_1, 6);text.setTextLimit(15);text_1.setFont(SWTResourceManager.getFont("微软雅黑", 30, SWT.NORMAL));text_1.setEditable(false);text_1.setText("0");text_1.setBackground(SWTResourceManager.getColor(255, 255, 102));FormData fd_text_1 = new FormData();fd_text_1.bottom = new FormAttachment(text, 70, SWT.BOTTOM);fd_text_1.top = new FormAttachment(text, 6);fd_text_1.left = new FormAttachment(0);fd_text_1.right = new FormAttachment(100);text_1.setLayoutData(fd_text_1);formToolkit.adapt(text_1, true, true);text_2 = new Text(composite, SWT.BORDER | SWT.CENTER);fd_btnNewButton.left = new FormAttachment(text_2, 6);text_2.setEditable(false);text_2.setFont(SWTResourceManager.getFont("微软雅黑", 35, SWT.NORMAL));FormData fd_text_2 = new FormData();fd_text_2.bottom = new FormAttachment(text_1, 70, SWT.BOTTOM);fd_text_2.top = new FormAttachment(text_1, 6);fd_text_2.right = new FormAttachment(100, -277);fd_text_2.left = new FormAttachment(0);text_2.setLayoutData(fd_text_2);formToolkit.adapt(text_2, true, true);composite_1.setLayout(new GridLayout(4, false));composite_1.setLayoutData(fd_composite_1);btnNewButton_3 = new Button(composite_1, SWT.NONE);btnNewButton_3.addSelectionListener(this);btnNewButton_3.setText("*");btnNewButton_3.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_3 = new GridData(SWT.LEFT, SWT.CENTER, false,true, 1, 1);gd_btnNewButton_3.widthHint = 89;gd_btnNewButton_3.heightHint = 69;btnNewButton_3.setLayoutData(gd_btnNewButton_3);formToolkit.adapt(btnNewButton_3, true, true);Number_1 = new Button(composite_1, SWT.NONE);Number_1.addSelectionListener(this);Number_1.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_1 = new GridData(SWT.LEFT, SWT.CENTER, false, true,1, 1);gd_Number_1.widthHint = 89;gd_Number_1.heightHint = 69;Number_1.setLayoutData(gd_Number_1);formToolkit.adapt(Number_1, true, true);Number_1.setText("1");Number_2 = new Button(composite_1, SWT.NONE);Number_2.addSelectionListener(this);Number_2.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_2 = new GridData(SWT.LEFT, SWT.CENTER, false, true,1, 1);gd_Number_2.widthHint = 89;gd_Number_2.heightHint = 69;Number_2.setLayoutData(gd_Number_2);formToolkit.adapt(Number_2, true, true);Number_2.setText("2");Number_3 = new Button(composite_1, SWT.NONE);Number_3.addSelectionListener(this);Number_3.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_3 = new GridData(SWT.LEFT, SWT.CENTER, false, true,1, 1);gd_Number_3.widthHint = 89;gd_Number_3.heightHint = 69;Number_3.setLayoutData(gd_Number_3);formToolkit.adapt(Number_3, true, true);Number_3.setText("3");btnNewButton_7 = new Button(composite_1, SWT.NONE);btnNewButton_7.addSelectionListener(this);btnNewButton_7.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_7 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_7.heightHint = 69;gd_btnNewButton_7.widthHint = 89;btnNewButton_7.setLayoutData(gd_btnNewButton_7);formToolkit.adapt(btnNewButton_7, true, true);btnNewButton_7.setText("\u00F7");Number_4 = new Button(composite_1, SWT.NONE);Number_4.addSelectionListener(this);Number_4.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_4 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_4.widthHint = 89;gd_Number_4.heightHint = 69;Number_4.setLayoutData(gd_Number_4);formToolkit.adapt(Number_4, true, true);Number_4.setText("4");Number_5 = new Button(composite_1, SWT.NONE);Number_5.addSelectionListener(this);Number_5.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_5 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_5.widthHint = 89;gd_Number_5.heightHint = 69;Number_5.setLayoutData(gd_Number_5);formToolkit.adapt(Number_5, true, true);Number_5.setText("5");Number_6 = new Button(composite_1, SWT.NONE);Number_6.addSelectionListener(this);Number_6.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_6 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_6.widthHint = 89;gd_Number_6.heightHint = 69;Number_6.setLayoutData(gd_Number_6);formToolkit.adapt(Number_6, true, true);Number_6.setText("6");btnNewButton_11 = new Button(composite_1, SWT.NONE);btnNewButton_11.addSelectionListener(this);btnNewButton_11.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_11 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_11.widthHint = 89;gd_btnNewButton_11.heightHint = 69;btnNewButton_11.setLayoutData(gd_btnNewButton_11);formToolkit.adapt(btnNewButton_11, true, true);btnNewButton_11.setText("+");Number_7 = new Button(composite_1, SWT.NONE);Number_7.addSelectionListener(this);Number_7.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_7 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_7.widthHint = 89;gd_Number_7.heightHint = 69;Number_7.setLayoutData(gd_Number_7);formToolkit.adapt(Number_7, true, true);Number_7.setText("7");Number_8 = new Button(composite_1, SWT.NONE);Number_8.addSelectionListener(this);Number_8.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_8 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_8.widthHint = 89;gd_Number_8.heightHint = 69;Number_8.setLayoutData(gd_Number_8);formToolkit.adapt(Number_8, true, true);Number_8.setText("8");Number_9 = new Button(composite_1, SWT.NONE);Number_9.addSelectionListener(this);Number_9.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_9 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_9.widthHint = 89;gd_Number_9.heightHint = 69;Number_9.setLayoutData(gd_Number_9);formToolkit.adapt(Number_9, true, true);Number_9.setText("9");btnNewButton_15 = new Button(composite_1, SWT.NONE);btnNewButton_15.addSelectionListener(this);btnNewButton_15.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_15 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_15.widthHint = 89;gd_btnNewButton_15.heightHint = 69;btnNewButton_15.setLayoutData(gd_btnNewButton_15);formToolkit.adapt(btnNewButton_15, true, true);btnNewButton_15.setText("-");Number_0 = new Button(composite_1, SWT.NONE);Number_0.addSelectionListener(this);Number_0.setFont(SWTResourceManager.getFont("Script MT Bold", 40,SWT.BOLD));GridData gd_Number_0 = new GridData(SWT.LEFT, SWT.CENTER, false, false,1, 1);gd_Number_0.widthHint = 89;gd_Number_0.heightHint = 69;Number_0.setLayoutData(gd_Number_0);formToolkit.adapt(Number_0, true, true);Number_0.setText("0");btnNewButton_17 = new Button(composite_1, SWT.NONE);btnNewButton_17.addSelectionListener(this);btnNewButton_17.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_17 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_17.widthHint = 89;gd_btnNewButton_17.heightHint = 69;btnNewButton_17.setLayoutData(gd_btnNewButton_17);formToolkit.adapt(btnNewButton_17, true, true);btnNewButton_17.setText(".");btnNewButton_18 = new Button(composite_1, SWT.NONE);btnNewButton_18.addSelectionListener(this);btnNewButton_18.setFont(SWTResourceManager.getFont("微软雅黑", 40, SWT.BOLD));GridData gd_btnNewButton_18 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_18.widthHint = 89;gd_btnNewButton_18.heightHint = 69;btnNewButton_18.setLayoutData(gd_btnNewButton_18);formToolkit.adapt(btnNewButton_18, true, true);btnNewButton_18.setText("=");btnNewButton_19 = new Button(composite_1, SWT.NONE);btnNewButton_19.addSelectionListener(this);btnNewButton_19.setFont(SWTResourceManager.getFont("微软雅黑", 30, SWT.BOLD));GridData gd_btnNewButton_19 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_19.widthHint = 89;gd_btnNewButton_19.heightHint = 69;btnNewButton_19.setLayoutData(gd_btnNewButton_19);formToolkit.adapt(btnNewButton_19, true, true);btnNewButton_19.setText("\u00B1");btnNewButton_20 = new Button(composite_1, SWT.NONE);btnNewButton_20.addSelectionListener(this);btnNewButton_20.setFont(SWTResourceManager.getFont("微软雅黑", 34, SWT.BOLD));GridData gd_btnNewButton_20 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_20.widthHint = 89;gd_btnNewButton_20.heightHint = 69;btnNewButton_20.setLayoutData(gd_btnNewButton_20);formToolkit.adapt(btnNewButton_20, true, true);btnNewButton_20.setText("\u221A");btnNewButton_21 = new Button(composite_1, SWT.NONE);btnNewButton_21.addSelectionListener(this);btnNewButton_21.setFont(SWTResourceManager.getFont("Lucida Calligraphy", 32, SWT.BOLD));btnNewButton_21.setText("x\u00B2");GridData gd_btnNewButton_21 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_21.widthHint = 89;gd_btnNewButton_21.heightHint = 69;btnNewButton_21.setLayoutData(gd_btnNewButton_21);formToolkit.adapt(btnNewButton_21, true, true);btnNewButton_22 = new Button(composite_1, SWT.NONE);btnNewButton_22.addSelectionListener(this);btnNewButton_22.setFont(SWTResourceManager.getFont("Lucida Calligraphy", 25, SWT.BOLD));GridData gd_btnNewButton_22 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_22.widthHint = 89;gd_btnNewButton_22.heightHint = 69;btnNewButton_22.setLayoutData(gd_btnNewButton_22);formToolkit.adapt(btnNewButton_22, true, true);btnNewButton_22.setText("1/x");btnNewButton_23 = new Button(composite_1, SWT.NONE);btnNewButton_23.addSelectionListener(this);btnNewButton_23.setFont(SWTResourceManager.getFont("Times New Roman",28, SWT.BOLD));GridData gd_btnNewButton_23 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_23.widthHint = 89;gd_btnNewButton_23.heightHint = 69;btnNewButton_23.setLayoutData(gd_btnNewButton_23);formToolkit.adapt(btnNewButton_23, true, true);btnNewButton_23.setText("MC");btnNewButton_24 = new Button(composite_1, SWT.NONE);btnNewButton_24.addSelectionListener(this);btnNewButton_24.setFont(SWTResourceManager.getFont("Times New Roman",28, SWT.BOLD));GridData gd_btnNewButton_24 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_24.widthHint = 89;gd_btnNewButton_24.heightHint = 69;btnNewButton_24.setLayoutData(gd_btnNewButton_24);formToolkit.adapt(btnNewButton_24, true, true);btnNewButton_24.setText("MR");btnNewButton_25 = new Button(composite_1, SWT.NONE);btnNewButton_25.addSelectionListener(this);btnNewButton_25.setFont(SWTResourceManager.getFont("Times New Roman",28, SWT.BOLD));GridData gd_btnNewButton_25 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_25.widthHint = 89;gd_btnNewButton_25.heightHint = 69;btnNewButton_25.setLayoutData(gd_btnNewButton_25);formToolkit.adapt(btnNewButton_25, true, true);btnNewButton_25.setText("MS");btnNewButton_26 = new Button(composite_1, SWT.NONE);btnNewButton_26.addSelectionListener(this);btnNewButton_26.setFont(SWTResourceManager.getFont("Times New Roman",28, SWT.BOLD));GridData gd_btnNewButton_26 = new GridData(SWT.LEFT, SWT.CENTER, false,false, 1, 1);gd_btnNewButton_26.widthHint = 89;gd_btnNewButton_26.heightHint = 69;btnNewButton_26.setLayoutData(gd_btnNewButton_26);formToolkit.adapt(btnNewButton_26, true, true);btnNewButton_26.setText("M+");menu = new Menu(shell, SWT.BAR);shell.setMenuBar(menu);mntmNewSubmenu = new MenuItem(menu, SWT.CASCADE);mntmNewSubmenu.setText("\u5E2E\u52A9");menu_1 = new Menu(mntmNewSubmenu);mntmNewSubmenu.setMenu(menu_1);mntmNewItem = new MenuItem(menu_1, SWT.NONE);mntmNewItem.setText("鸣谢");mntmNewItem.addSelectionListener(this);shell.open();shell.layout();while (!shell.isDisposed()) {if (!display.readAndDispatch()) {display.sleep();}}}/** * Create contents of the window. */public void widgetSelected(SelectionEvent e) {try {if (e.getSource().toString().equals("Button {1}")&& click_Flag == true) { // 输入相应的数字if (Double.parseDouble(text.getText()) == 0) { // 初始化后 要输入数字前// 先把0去掉text.setText("");}text.setText(text.getText() + "1");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {2}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "2");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {3}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "3");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {4}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "4");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {5}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "5");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {6}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "6");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {7}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "7");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {8}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "8");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {9}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "9");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {0}")&& click_Flag == true) {if (Double.parseDouble(text.getText()) == 0) {text.setText("");}text.setText(text.getText() + "0");text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {.}")&& click_Flag == true) {isInclude = false;if (text.getText().length() == 0) {isInclude = true;}for (int i = 0; i < text.getText().length(); i++) {if ('.' == text.getText().charAt(i)) {isInclude = true;break;}}if (isInclude == false) {text.setText(text.getText() + ".");}text.setFocus();isContinue = false;middle = Double.parseDouble(text.getText());isInputNumber = true;} else if (e.getSource().toString().equals("Button {\u2192}")&& click_Flag == true) { // 回删if (Double.parseDouble(text.getText()) == 0) {text.setText("0");} else {String s = text.getText();text.setText("");for (int i = 0; i < s.length() - 1; i++) {char a = s.charAt(i);text.setText(text.getText() + a);}}text.setFocus();} else if (e.getSource().toString().equals("Button {C}")) { // 执行ctext.setText("0");text_1.setText("0");text_2.setText("");memory_Data = 0;text.setFocus();click_Flag = true;result = 0;key = prekey = -1;isInputNumber = false;} else if (e.getSource().toString().equals("Button {CE}")) { // 执行cetext.setText("0");text_1.setText("0");text_2.setText("");text.setFocus();click_Flag = true;result = 0;key = prekey = -1;isInputNumber = false;} else if (e.getSource().toString().equals("Button {+}")&& click_Flag == true) {if (isInputNumber == true) {computing();text.setText("0");key = prekey = 0;text_2.setText("+");disPlay();} else {prekey = key = 0;text_2.setText("+");}isInputNumber = false;} else if (e.getSource().toString().equals("Button {-}")&& click_Flag == true) {if (isInputNumber == true) {computing();text.setText("0");key = prekey = 1;text_2.setText("-");disPlay();} else {prekey = key = 1;text_2.setText("-");}isInputNumber = false;} else if (e.getSource().toString().equals("Button {*}")&& click_Flag == true) {if (isInputNumber == true) {computing();text.setText("0");key = prekey = 2;text_2.setText("*");disPlay();} else {prekey = key = 2;text_2.setText("*");}isInputNumber = false;} else if (e.getSource().toString().equals("Button {\u00F7}")&& click_Flag == true) {if (isInputNumber == true) {computing();text.setText("0");key = prekey = 3;text_2.setText("\u00F7");disPlay();} else {prekey = key = 3;text_2.setText("\u00F7");}isInputNumber = false;} else if (e.getSource().toString().equals("Button {\u00B1}")&& click_Flag == true) {String s = text.getText();String s1 = text_1.getText();if (Double.parseDouble(s) != 0) {if (s.charAt(0) == '-') {text.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);text.setText(text.getText() + a);}} elsetext.setText('-' + s);} else {if (s1.charAt(0) == '-') {text_1.setText("");for (int i = 1; i < s1.length(); i++) {char a = s1.charAt(i);text_1.setText(text_1.getText() + a);result = Double.parseDouble(text_1.getText());}} else {text_1.setText('-' + s1);result = Double.parseDouble(text_1.getText());}}} else if (e.getSource().toString().equals("Button {=}")&& click_Flag == true) {if (isContinue == true) {if (prekey == 0) {result += middle;disPlay();}if (prekey == 1) {result -= middle;disPlay();}if (prekey == 2) {result *= middle;disPlay();}if (prekey == 3) {result /= middle;disPlay();}}if (isContinue == false) {if (prekey == 0) {result += Double.parseDouble(text.getText());disPlay();}if (prekey == 1) {result -= Double.parseDouble(text.getText());disPlay();}if (prekey == 2) {result *= Double.parseDouble(text.getText());disPlay();}if (prekey == 3) {if(Double.parseDouble(text.getText()) == 0){text.setText("除数不能为零");click_Flag = false;}result /= Double.parseDouble(text.getText());disPlay();}isContinue = true;}isInputNumber = false;text.setText("0");} else if (e.getSource().toString().equals("Button {\u221A}")&& click_Flag == true) {if (key != -1) {if (Double.parseDouble(text_1.getText()) > 0) {result = Math.sqrt(Double.parseDouble(text_1.getText()));} else {text.setText("负数没有实数平方根");}} else {if (Double.parseDouble(text.getText()) > 0) {result = Math.sqrt(Double.parseDouble(text.getText()));} else {text.setText("负数没有实数平方根");}}disPlay();text_2.setText("\u221A");key = 5;} else if (e.getSource().toString().equals("Button {x\u00B2}")&& click_Flag == true) {if (Double.parseDouble(text_1.getText()) == 0) {result = Double.parseDouble(text.getText())* Double.parseDouble(text.getText());} else {result = Double.parseDouble(text_1.getText())* Double.parseDouble(text_1.getText());}disPlay();text_2.setText("x\u00B2");key = 6;} else if (e.getSource().toString().equals("Button {1/x}")&& click_Flag == true) {if (key != -1) {if (Double.parseDouble(text_1.getText()) == 0) {text.setText("分母不能为零");click_Flag = false;} else {result = 1 / Double.parseDouble(text_1.getText());}} else {if (Double.parseDouble(text.getText()) == 0) {text.setText("分母不能为零");click_Flag = false;} else {result = 1 / Double.parseDouble(text.getText());}}disPlay();text_2.setText("1/x");key = 7;} else if (e.getSource().toString().equals("Button {MC}")&& click_Flag == true) {memory_Data = 0;text.setText("0");text_1.setText("0");text_2.setText("MC");} else if (e.getSource().toString().equals("Button {MS}")&& click_Flag == true) {if (key != -1) {memory_Data = Double.parseDouble(text_1.getText());} else {memory_Data = Double.parseDouble(text.getText());}text_2.setText("MS");} else if (e.getSource().toString().equals("Button {MR}")&& click_Flag == true) {if (memory_Data != 0) {text_1.setText(String.valueOf(memory_Data));}text_2.setText("MR");} else if (e.getSource().toString().equals("Button {M+}")&& click_Flag == true) {memory_Data += Double.parseDouble(text.getText());text_2.setText("M+");} else if (e.getSource().toString().equals("MenuItem {鸣谢}")) {s = "本计算器由西南大学荣昌校区09计科2班杨晓骏制作完成,在此期间感谢亲爱的王琴对我的关心支持,感谢C-305的室友对我的帮助,并无偿将此作品上传网络以共享,希望大家能互相学习指点。喜欢该作品的朋友可以加我的QQ交流学习!QQ:602659807.谢谢!";MessageBox MB = new MessageBox(shell, SWT.ICON_WARNING);MB.setMessage(s);MB.setText("鸣谢");MB.open();}} catch (Exception el) {el.printStackTrace();}}public void changeFont() {if ((text.getText().length()) > 8) {text.setFont(SWTResourceManager.getFont("微软雅黑", 25, SWT.BOLD));} else {text.setFont(SWTResourceManager.getFont("微软雅黑", 48, SWT.BOLD));}}public void computing() {switch (prekey) {case 0:result += Double.parseDouble(text.getText());break;case 1:result -= Double.parseDouble(text.getText());break;case 2:result *= Double.parseDouble(text.getText());break;case 3:if (Double.parseDouble(text.getText()) == 0&& isInputNumber == true) {text.setText("除数不能为零!");click_Flag = false;} else {result /= Double.parseDouble(text.getText());break;}default:result = Double.parseDouble(text.getText());}}public void disPlay() {if (result > 1000000000) {df = new DecimalFormat("0.##########E0");text_1.setText(df.format(result));} else {df = new DecimalFormat("0.############");text_1.setText(df.format(result));}}@Overridepublic void verifyText(VerifyEvent e) {// TODO Auto-generated method stubchangeFont();}}