⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculater.java

📁 用awt写的一个简单的计算器
💻 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 + -