package
as;
import
java.awt.
*
;
import
javax.swing.
*
;
import
java.awt.event.
*
;
public
class
JiSuanQi
implements
ActionListener{
/**
* 程序功能: 计算器 * * Bug: 1)小数点:设一个Boolean成员变量,在点击后不可用。。。在"+-/*"中设为可用。
*/
//
step1 Define Container
private
JFrame fra
=
new
JFrame(
"
计算器
"
);
private
Panel panel
=
new
Panel();
private
float
sum,sum1,sum2;
private
char
zifu;
private
boolean
ii
=
true
; Container con
=
fra.getContentPane(); JMenuBar bar
=
new
JMenuBar(); JMenu JMenu1
=
new
JMenu(
"
编辑
"
); JMenu JMenu2
=
new
JMenu(
"
查看
"
); JMenu JMenu3
=
new
JMenu(
"
帮助
"
); JMenuItem JMenuitem
=
new
JMenuItem(
"
帮助111
"
); JMenuItem JMenuitem1
=
new
JMenuItem(
"
帮助111
"
);
//
step3 Define Component
TextField text
=
new
TextField(); JButton bu1
=
new
JButton(
"
1
"
); JButton bu2
=
new
JButton(
"
2
"
); JButton bu3
=
new
JButton(
"
3
"
); JButton bu4
=
new
JButton(
"
4
"
); JButton bu5
=
new
JButton(
"
5
"
); JButton bu6
=
new
JButton(
"
6
"
); JButton bu7
=
new
JButton(
"
7
"
); JButton bu8
=
new
JButton(
"
8
"
); JButton bu9
=
new
JButton(
"
9
"
); JButton bu0
=
new
JButton(
"
0
"
); JButton bujia
=
new
JButton(
"
+
"
); JButton bujian
=
new
JButton(
"
-
"
); JButton bucheng
=
new
JButton(
"
*
"
); JButton buchu
=
new
JButton(
"
/
"
); JButton budian
=
new
JButton(
"
.
"
); JButton bufuhao
=
new
JButton(
"
+/-
"
); JButton budenghao
=
new
JButton(
"
=
"
); JButton buqingling
=
new
JButton(
"
C
"
);
public
void
m() {
//
step2 Define Layout
con.setLayout(
new
BorderLayout()); panel.setLayout(
new
GridLayout(
5
,
4
,
4
,
4
)); buqingling.setForeground(Color.RED);
//
step5 把组件(subassembly)放在Panel中
panel.add(bu1); panel.add(bu2); panel.add(bu3); panel.add(bujia); panel.add(bu4); panel.add(bu5); panel.add(bu6); panel.add(bujian); panel.add(bu7); panel.add(bu8); panel.add(bu9); panel.add(bucheng); panel.add(bu0); panel.add(bufuhao); panel.add(budian); panel.add(buchu); panel.add(buqingling); panel.add(budenghao);
/*
JMenu1.add("复制"); JMenu1.add("粘贴"); JMenu2.add("标准型"); JMenu2.add("科学型"); JMenu2.addSeparator(); JMenu2.add("数学分组"); //JMenu3.add("帮助");
*/
JMenu1.add(JMenuitem1); bar.add(JMenu1); bar.add(JMenu2); JMenu3.add(JMenuitem); bar.add(JMenu3); fra.setJMenuBar(bar);
//
把Panel放到Fream中
con.add(panel,BorderLayout.CENTER); con.add(text,BorderLayout.NORTH);
//
对 JJButton 进行事件处理
bu1.addActionListener(
this
); bu2.addActionListener(
this
); bu3.addActionListener(
this
); bu4.addActionListener(
this
); bu5.addActionListener(
this
); bu6.addActionListener(
this
); bu7.addActionListener(
this
); bu8.addActionListener(
this
); bu9.addActionListener(
this
); bu0.addActionListener(
this
); bujia.addActionListener(
this
); bujian.addActionListener(
this
); bucheng.addActionListener(
this
); buchu.addActionListener(
this
); budian.addActionListener(
this
); bufuhao.addActionListener(
this
); budenghao.addActionListener(
this
); buqingling.addActionListener(
this
);
//
show windows size and window
fra.setSize(
230
,
200
); fra.setResizable(
false
);
//
屏蔽最大化
fra.setVisible(
true
);
//
显示Frame
//
关闭windows窗口
fra.addWindowListener(
new
WindowAdapter() {
public
void
windowClosing(WindowEvent e) { System.exit(
0
); } } ); }
public
void
actionPerformed(ActionEvent e) { String str
=
e.getActionCommand();
//
获取用户点击按扭上的文字是什么。
String shuzi
=
"
0123456789
"
; String yunsuan
=
"
+-*/
"
;
if
(shuzi.indexOf(str)
>=
0
)
//
判断返回的数值是否大于0
{ text.setText(text.getText()
+
str);
//
ii=true;
}
else
if
(yunsuan.indexOf(str)
>=
0
) { sum1
=
Float.parseFloat(text.getText()); text.setText(
""
); zifu
=
yunsuan.charAt(yunsuan.indexOf(str)); ii
=
true
; }
else
if
(str.equals(
"
.
"
)
&&
ii
==
true
) { text.setText(text.getText()
+
str); ii
=
false
; }
else
if
(str.equals(
"
=
"
)) { sum2
=
Float.parseFloat(text.getText());
switch
(zifu) {
case
'
+
'
: sum
=
sum1
+
sum2; text.setText(
""
+
sum);
break
;
case
'
-
'
:sum
=
sum1
-
sum2; text.setText(
""
+
sum);
break
;
case
'
*
'
:sum
=
sum1
*
sum2; text.setText(
""
+
sum);
break
;
case
'
/
'
:sum
=
sum1
/
sum2; text.setText(
""
+
sum);
break
; } }
else
if
(str.equals(
"
C
"
)) { text.setText(
""
); sum
=
0
; sum1
=
0
; sum2
=
0
; } }
public
static
void
main(String[] args) {
//
TODO Auto-generated method stub
JiSuanQi ji
=
new
JiSuanQi(); ji.m(); }}
转载请注明原文地址: https://ibbs.8miu.com/read-31688.html