📄 calculater.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.util.Calendar;
public class Calculater {
public static void main(String[] args) {
CalFrame kf = new CalFrame("我的计算器");
kf.f();
MyDate md = new MyDate(kf);
Thread t = new Thread(md);
t.start();
}
}
class CalFrame extends Frame {
int i;
private TextField t1 = null;
private TextField t2 = null;
private TextField t3 = null;
private TextField t4 = null;
protected TextField t5 = null;
private Panel p1 = null;
private Panel p2 = null;
private Panel p3 = null;
private Label l = null;
private Label ltime = null;
private Button buttequ = null;
private String[] names =
{"7","8","9","+","4","5","6","-","1","2","3","*","0",".","/"};
private Button[] buttons = new Button[15];
CalFrame(String name) {
super(name);
}
protected void f() {
setLocation(300,210);
setResizable(false);
t1 = new TextField(4);
t2 = new TextField();
t3 = new TextField(4);
t4 = new TextField(4);
t5 = new TextField(16);
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
l = new Label();
ltime = new Label("爱你每一天");
buttequ = new Button("=");
p1.setLayout(new FlowLayout());
p2.setLayout(new GridLayout(4,4));
p3.setLayout(new FlowLayout());
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.SOUTH);
p1.add(t1);
p1.add(t2);
p1.add(t3);
p1.add(l);
p1.add(t4);
p3.add(ltime);
p3.add(t5);
for(int i = 0;i < names.length;i++) {
buttons[i] = new Button(names[i]);
p2.add(buttons[i]);
buttons[i].addActionListener(new buttListener1());//加入监听
}
p2.add(buttequ);
buttequ.addActionListener(new buttListener2()); //专门对等号监听
pack();
addWindowListener(new Close());
setVisible(true);
}
private void calculate(){//计算输出结果
int n1 = Integer.parseInt(t1.getText());
int n3 = Integer.parseInt(t3.getText());
if(t2.getText()== "+") {
t4.setText("" + (n1+n3));
}
}
private class Close extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
private class buttListener1 implements ActionListener {//监听器
private String s=null;
public void actionPerformed(ActionEvent e) {
s=((Button)e.getSource()).getLabel();
if(!((s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")))
&& !(t2.getText().equals("+") || t2.getText().equals("-") || t2.getText().equals("*") ||t2.getText().equals("/"))) {
t1.setText(t1.getText() + s);
if(t1.getText().charAt(0) == '.') {
t4.setText("重新输入");
t1.setText(null);
}
}
if(s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {
t2.setText(s);
}
if(!(t2.getText().equals("")) && !((s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")))) {
t3.setText(t3.getText() + s);
}
}
}
private class buttListener2 implements ActionListener { //等号监听器
public void actionPerformed(ActionEvent e) {
if(t1.getText().equals("") || t2.getText().equals("") || t3.getText().equals("")) {
t4.setText("输入有误");
t1.setText(null);
t2.setText(null);
t3.setText(null);
}
else {
double n1 = Double.parseDouble(t1.getText());
double n3 = Double.parseDouble(t3.getText());
if(t2.getText().equals("+")) {
t4.setText("" + (n1+n3));
}
if(t2.getText().equals("-")) {
t4.setText("" + (n1-n3));
}
if(t2.getText().equals("*")) {
t4.setText("" + (n1*n3));
}
if(t2.getText().equals("/")) {
if(t3.getText().equals("0")) {
t4.setText("除数不能为0");
}
else {
t4.setText("" + (n1/n3));
}
}
t1.setText(null);
t2.setText(null);
t3.setText(null);
}
}
}
}
class MyDate implements Runnable {
CalFrame kf = null;
public MyDate(CalFrame kf) {
this.kf = kf;
}
public void run() {
String s = null;
String s1 = null;
String s2 = null;
int month;
while(true) {
Calendar c = Calendar. getInstance();
if((int)c.get(Calendar.MINUTE) < 10) {
s1 = "0" + c.get(Calendar.MINUTE);
}
else {
s1 = "" + c.get(Calendar.MINUTE);
}
if((int)c.get(Calendar.SECOND) < 10) {
s2 = "0" + c.get(Calendar.SECOND);
}
else {
s2 = "" + c.get(Calendar.SECOND);
}
month = c.get(Calendar.MONTH) + 1;
s = c.get(Calendar.YEAR) + "-" + month + "-" + c.get(Calendar.DATE) + " " +
c.get(Calendar.HOUR_OF_DAY) + ":" + s1 + ":" + s2;
kf.t5.setText(s);
try {
Thread.sleep(1000);
}catch(InterruptedException e) {
kf.t5.setText("日期获得错误");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -