标签:style http io ar color os sp for java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
import
java.awt.*;import
javax.swing.*;import
java.awt.event.*;public
class
MyCalculator extends
JFrame{ private
static
final
long
serialVersionUID = 1L; private
String showStr="",remainStr="",method=""; private
boolean
isCalculated=false; private
void
setShowStr(String showStr){ this.showStr=showStr; } private
String[] str={"C",
"CE",
"+/-", "7",
"8",
"9",
"4",
"5",
"6",
"1",
"2",
"3","0", ".",
"=",
"+",
"-",
"*",
"/"}; JButton[]
jbt=new
JButton[str.length]; JTextField
jtf=new
JTextField(); public
MyCalculator(){ for
(int
i=0;i<str.length;i++){ jbt[i]=new
JButton(str[i]); } JPanel
p1=new
JPanel(); p1.setLayout(new
GridLayout(5,3)); for
(int
i=0;i<str.length-4;i++){ p1.add(jbt[i]); } JPanel
p2=new
JPanel(); p2.setLayout(new
GridLayout(4,1)); for
(int
i=str.length-4;i<str.length;i++){ p2.add(jbt[i]); } add(jtf,BorderLayout.NORTH); add(p1,BorderLayout.CENTER); add(p2,BorderLayout.EAST); ButtonListener
listener=new
ButtonListener(); for
(int
i=0;i<str.length;i++){ jbt[i].addActionListener(listener); } } class
ButtonListener implements
ActionListener { public
void
actionPerformed(ActionEvent e){ String
s=e.getActionCommand(); if
(s=="C"&&showStr.length()>0){ showStr=showStr.substring(0,showStr.length()-1); jtf.setText(showStr); }//clear else
if
(s=="CE"){ showStr=""; remainStr=""; isCalculated=false; jtf.setText(showStr); } //clear
all else
if
(s=="+"||s=="-"||s=="*"||s=="/"){ remainStr=showStr; showStr=""; method=s; jtf.setText(showStr); } else
if
(s=="+/-"&&showStr==""){ showStr+="-"; jtf.setText(showStr); } else
if
(s=="="){ jtf.setText(calculation(remainStr,showStr,method)); } else
{ if(isCalculated){ showStr=""; jtf.setText(showStr); isCalculated=false; } showStr+=s; jtf.setText(showStr); }//number } } private
String calculation(String s1,String s2,String s3){ Double
num1=Double.parseDouble(s1); Double
num2=Double.parseDouble(s2); isCalculated=true; if
(s3=="+"){ setShowStr(num1+num2+""); return
num1+num2+""; } else
if
(s3=="-"){ setShowStr(num1-num2+""); return
num1-num2+""; } else
if
(s3=="*"){ setShowStr(num1*num2+""); return
num1*num2+""; } else
if
(s3=="/"){
setShowStr(num1/num2+""); return
num1/num2+""; } return
"error"; } public
static
void
main(String[] args){ JFrame
frame=new
MyCalculator(); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }} |
标签:style http io ar color os sp for java
原文地址:http://blog.csdn.net/u014311051/article/details/41930225