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.setL
用java SWT制作的一个模仿微软的计算器,1000行代码!
最新推荐文章于 2021-03-20 02:55:42 发布
这是一个使用Java SWT库创建的仿微软计算器程序,包含1000行代码。程序实现了基本的数学运算功能,如加减乘除、平方根、平方、倒数等,还提供了清除、回退等操作。用户界面布局模仿了微软计算器的样式,包括按钮布局和字体设置。
摘要由CSDN通过智能技术生成