import javax.swing.*
;
import java.awt.*
;
import java.awt.event.ActionEvent
;
import java.awt.event.ActionListener
;
/**
* Created by thinkpad on 2017/3/23.
*/
public class GameFrame
extends JFrame{
private JButton
a1,a2,a3,a4,a5,a6,a7,a8,a9,a0;
private JButton
b1,b2,b3,b4,b5,b6;
private JButton
ac,pingfang,zhengfu,baifen;
private JPanel
p0,p1,p2,p3,p4,p5;
private JMenuBar
mb1;
private JMenu
m1,m2;
private JMenuItem
mi1,mi2,mi3;
private TextField
tf1;
private JButton
button_test;
double flag1=
0,flag2=
0,flag3=
1,flag=
0;
char diag=
'0',equal=
'0';
double i=
0;
boolean kaiguan=
false;
public static void main(String[] args) {
new GameFrame()
;
}
public GameFrame(){
this.setTitle(
"calculator")
;
this.setDefaultCloseOperation(WindowConstants.
EXIT_ON_CLOSE)
;
this.setLocation(
200,200)
;
this.setSize(
300,380)
;
this.setLayout(
new GridLayout(
6,1))
;
this.setResizable(
false)
;
p0=
new JPanel()
;p1=
new JPanel()
;p2=
new JPanel()
;p3=
new JPanel()
;p4=
new JPanel()
;p5=
new JPanel()
;
this.add(
p0)
;
this.add(
p1)
;
this.add(
p2)
;
this.add(
p3)
;
this.add(
p4)
;
this.add(
p5)
;
mb1=
new JMenuBar()
;
m1 =
new JMenu(
"系统")
;
m2 =
new JMenu(
"结束")
;
mi1=
new JMenuItem(
"开发人员")
;
mi2=
new JMenuItem(
"帮助")
;
mi3=
new JMenuItem(
"over")
;
mb1.add(
m1)
;mb1.add(
m2)
;
m1.add(
mi1)
;m1.add(
mi2)
;m2.add(
mi3)
;
tf1=
new TextField(
30)
;
p0.add(
mb1)
;
FlowLayout f1=
new FlowLayout(FlowLayout.
CENTER,10,10)
;
p0.setLayout(f1)
;
p1.setLayout(f1)
;
p2.setLayout(f1)
;
p3.setLayout(f1)
;
p4.setLayout(f1)
;
p5.setLayout(f1)
;
p1.add(
tf1)
;
a1=
new JButton(
"1")
;
a2=
new JButton(
"2")
;
a3=
new JButton(
"3")
;
a4=
new JButton(
"4")
;
a5=
new JButton(
"5")
;
a6=
new JButton(
"6")
;
a7=
new JButton(
"7")
;
a8=
new JButton(
"8")
;
a9=
new JButton(
"9")
;
a0=
new JButton(
"0")
;
b1=
new JButton(
"+")
;
b2=
new JButton(
"-")
;
b3=
new JButton(
"*")
;
b4=
new JButton(
"/")
;
b5=
new JButton(
"=")
;
b6=
new JButton(
".")
;
ac=
new JButton(
"AC")
;
baifen=
new JButton(
"%")
;
zhengfu =
new JButton(
"+/-")
;
pingfang=
new JButton(
"^")
;
button_test=
new JButton()
;
p2.add(
a1)
;p2.add(
a2)
;p2.add(
a3)
;p2.add(
b1)
;p2.add(
ac)
;
p3.add(
a4)
;p3.add(
a5)
;p3.add(
a6)
;p3.add(
b2)
;p3.add(
zhengfu)
;
p4.add(
a7)
;p4.add(
a8)
;p4.add(
a9)
;p4.add(
b3)
;p4.add(
pingfang)
;
p5.add(
b6)
;p5.add(
a0)
;p5.add(
b5)
;p5.add(
b4)
;p5.add(
baifen)
;
a1.addActionListener(
new keylistener())
;
a2.addActionListener(
new keylistener())
;
a3.addActionListener(
new keylistener())
;
a4.addActionListener(
new keylistener())
;
a5.addActionListener(
new keylistener())
;
a6.addActionListener(
new keylistener())
;
a7.addActionListener(
new keylistener())
;
a8.addActionListener(
new keylistener())
;
a9.addActionListener(
new keylistener())
;
a0.addActionListener(
new keylistener())
;
b1.addActionListener(
new keylistener())
;
b2.addActionListener(
new keylistener())
;
b3.addActionListener(
new keylistener())
;
b4.addActionListener(
new keylistener())
;
b5.addActionListener(
new keylistener())
;
b6.addActionListener(
new keylistener())
;
zhengfu.addActionListener(
new keylistener())
;
pingfang.addActionListener(
new keylistener())
;
baifen.addActionListener(
new keylistener())
;
ac.addActionListener(
new keylistener())
;
mi1.addActionListener(
new keylistener())
;
mi2.addActionListener(
new keylistener())
;
mi3.addActionListener(
new keylistener())
;
this.setVisible(
true)
;
}
class keylistener
implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==
a1){
System.
out.println(
"1")
;
button_test=
a1;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
1;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a2){
System.
out.println(
"2")
;
button_test=
a2;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
2;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a3) {
System.
out.println(
"3")
;
button_test =
a3;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
3;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a4) {
System.
out.println(
"4")
;
button_test =
a4;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
4;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a5) {
System.
out.println(
"5")
;
button_test =
a5;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
5;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a6) {
System.
out.println(
"6")
;
button_test =
a6;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
6;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a7) {
System.
out.println(
"7")
;
button_test =
a7;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
7;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a8) {
System.
out.println(
"8")
;
button_test =
a8;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
8;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a9) {
System.
out.println(
"9")
;
button_test =
a9;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10+
9;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
a0) {
System.
out.println(
"0")
;
button_test =
a0;
tf1.setText(
tf1.getText()+
button_test.getText())
;
flag=
flag*
10;
if (
kaiguan) {
i++
;
}
}
else if (e.getSource()==
b1) {
System.
out.println(
"+")
;
button_test =
b1;
tf1.setText(
tf1.getText()+
button_test.getText())
;
diag=
'+';
flag1=
flag/(Math.
pow(
10,i))
;
flag=
0;
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
b2) {
System.
out.println(
"-")
;
button_test =
b2;
tf1.setText(
tf1.getText()+
button_test.getText())
;
diag=
'-';
flag1=
flag/(Math.
pow(
10,i))
;
flag=
0;
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
b3) {
System.
out.println(
"*")
;
button_test =
b3;
tf1.setText(
tf1.getText()+
button_test.getText())
;
diag=
'*';
flag1=
flag/(Math.
pow(
10,i))
;
flag=
0;
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
b4) {
System.
out.println(
"/")
;
button_test =
b4;
tf1.setText(
tf1.getText()+
button_test.getText())
;
diag=
'/';
flag1=
flag/(Math.
pow(
10,i))
;
flag=
0;
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
b5) {
System.
out.println(
"=")
;
button_test =
b5;
tf1.setText(
tf1.getText()+
button_test.getText()+
" ")
;
flag2=
flag/(Math.
pow(
10,i))
;
flag=
0;
kaiguan=
false;
i=
0;
if (
diag ==
'+') {
flag3 =
flag1 +
flag2;
}
if (
diag ==
'-') {
flag3 =
flag1 -
flag2;
}
if (
diag ==
'*') {
flag3 =
flag1*
flag2;
}
if (
diag ==
'/') {
flag3 =
flag1 /
flag2;
}
if (
diag ==
'^'){
flag3=Math.
pow(
flag1,flag2)
;
}
String s=
""+
flag3;
tf1.setText(
tf1.getText()+s+
" ")
;
flag1=
0;flag2=
0;flag3=
0;flag=
0;
diag=
'0';
}
else if (e.getSource()==
b6) {
System.
out.println(
".")
;
button_test =
b6;
tf1.setText(
tf1.getText()+
button_test.getText())
;
kaiguan=
true;
i=
0;
}
else if (e.getSource()==
pingfang){
System.
out.println(
"^")
;
button_test =
pingfang;
tf1.setText(
tf1.getText()+
button_test.getText())
;
diag=
'^';
flag1=
flag/(Math.
pow(
10,i))
;
flag=
0;
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
baifen){
flag=
flag/
100;
tf1.setText(
tf1.getText()+
"%")
;
}
else if (e.getSource()==
zhengfu){
flag=-
flag;
if (
flag<
0)
tf1.setText(
tf1.getText()+
"(-)")
;
}
else if (e.getSource()==
ac){
tf1.setText(
"")
;
flag1=
0;flag2=
0;flag3=
0;flag=
0;
diag=
'0';
i=
0;
kaiguan=
false;
}
else if (e.getSource()==
mi3){
System.
out.println(
"over")
;
System.
exit(
0)
;
}
else if (e.getSource()==
mi1){
System.
out.println(
"开发人员:")
;
new Frame2()
;
}
else if (e.getSource()==
mi2){
System.
out.println(
"帮助")
;
new Frame3()
;
}
}
}
}
Frame2文件
public static void main(String[] args) {
new Frame2()
;
}
public Frame2(){
this.setSize(
200,300)
;
this.setTitle(
"开发人员")
;
this.setLocation(
200,200)
;
this.setVisible(
true)
;
t1=
new TextArea()
;
t1.setSize(
200,300)
;
t1.setLocation(
0,0)
;
t1.setText(
"MR.HXK")
;
this.add(
t1)
;
}
}
Frame3文件
import javax.swing.*
;
import java.awt.*
;
/**
* Created by thinkpad on 2017/3/25.
*/
public class Frame3
extends JFrame {
private TextArea
t1;
public static void main(String[] args) {
new Frame3()
;
}
public Frame3(){
this.setSize(
200,300)
;
this.setTitle(
"帮助")
;
this.setLocation(
200,200)
;
this.setVisible(
true)
;
t1=
new TextArea()
;
t1.setSize(
200,300)
;
t1.setLocation(
0,0)
;
t1.setText(
"本产品是一个基于双精度编写的计算器\n+/-实现数值的正负转换\n")
;
this.add(
t1)
;
}
}
转载请注明原文地址: https://ju.6miu.com/read-18286.html