📄 计算器---如何设置监听器java.txt
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JSQ
{
static JFrame f=new JFrame("银河二号超级变态计算器");
static JButton b1=new JButton("1");
static JButton b2=new JButton("2");
static JButton b3=new JButton("3");
static JButton b4=new JButton("4");
static JButton b5=new JButton("5");
static JButton b6=new JButton("6");
static JButton b7=new JButton("7");
static JButton b8=new JButton("8");
static JButton b9=new JButton("9");
static JButton b0=new JButton("0");
static JButton bx=new JButton(".");
static JButton bjia=new JButton("+");
static JButton bjian=new JButton("-");
static JButton bcheng=new JButton("X");
static JButton bchu=new JButton("/");
static JButton bCE=new JButton("CE");
static JButton bC=new JButton("C");
static JButton bjue=new JButton("+/-");
static JButton bbai=new JButton("%");
static JButton by=new JButton("x^y");
static JButton by2=new JButton("x^2");
static JButton by3=new JButton("x^3");
static JButton bxx=new JButton("x!");
static JButton b1x=new JButton("1/x");
static JButton bk2=new JButton("K2");
static JButton bxxx=new JButton("??");
static JButton bdeng=new JButton("=");
static JPanel p1=new JPanel();
static JPanel p2=new JPanel();
static JPanel p3=new JPanel();
static JPanel p4=new JPanel();
static JPanel p5=new JPanel();
static JPanel p6=new JPanel();
static JPanel p7=new JPanel();
static JPanel p8=new JPanel();
static JTextField text=new JTextField(10);
static StringBuffer te=new StringBuffer();
static double tem1=0,tem2=0;
static int x=0,z=0;
public static void main(String []args)
{
//b1.setForeground(Color.red) ;
//b1.setBackground(Color.blue);
text.setHorizontalAlignment(JTextField.RIGHT);
bb myb1=new bb();
b1.addActionListener(myb1);
b2.addActionListener(myb1);
b3.addActionListener(myb1);
b4.addActionListener(myb1);
b5.addActionListener(myb1);
b6.addActionListener(myb1);
b7.addActionListener(myb1);
b8.addActionListener(myb1);
b9.addActionListener(myb1);
b0.addActionListener(myb1);
bx.addActionListener(myb1);
bby myby=new bby();
bjia.addActionListener(myby);
bjian.addActionListener(myby);
bcheng.addActionListener(myby);
bchu.addActionListener(myby);
bC.addActionListener(myby);
bCE.addActionListener(myby);
bbai.addActionListener(myby);
bjue.addActionListener(myby);
bk2.addActionListener(myby);
bxxx.addActionListener(myby);
by.addActionListener(myby);
by2.addActionListener(myby);
by3.addActionListener(myby);
bxx.addActionListener(myby);
b1x.addActionListener(myby);
bdeng mydeng=new bdeng();
bdeng.addActionListener(mydeng);
f.getContentPane().setLayout(new FlowLayout());
f.getContentPane().add(p6);
p1.setLayout(new GridLayout(3,3));
p1.add(b1);p1.add(b2);p1.add(b3);
p1.add(b4);p1.add(b5);p1.add(b6);
p1.add(b7);p1.add(b8);p1.add(b9);
p2.setLayout(new BorderLayout());
p2.add(b0,BorderLayout.WEST);
p2.add(bdeng,BorderLayout.CENTER);
p3.setLayout(new BorderLayout());
p3.add(p1,BorderLayout.CENTER);
p3.add(p2,BorderLayout.SOUTH);
p4.setLayout(new GridLayout(4,2));
p4.add(bC);
p4.add(bCE);
p4.add(bjia);
p4.add(bjian);
p4.add(bcheng);
p4.add(bchu);
p4.add(bx);
p4.add(bjue);
p5.setLayout(new BorderLayout());
p5.add(p3,BorderLayout.WEST);
p5.add(p4,BorderLayout.CENTER);
p5.add(p7,BorderLayout.EAST);
p6.setLayout(new BorderLayout());
p6.add(text,BorderLayout.NORTH);
p6.add(p5,BorderLayout.SOUTH);
p7.setLayout(new GridLayout(4,2));
p7.add(bbai);
p7.add(by);
p7.add(by2);
p7.add(by3);
p7.add(bxx);
p7.add(b1x);
p7.add(bk2);
p7.add(bxxx);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
static class bb implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
te.append("1");
text.setText(te.toString());
}
if(e.getSource()==b2)
{
te.append("2");
text.setText(te.toString());
}
if(e.getSource()==b3)
{
te.append("3");
text.setText(te.toString());
}
if(e.getSource()==b4)
{
te.append("4");
text.setText(te.toString());
}
if(e.getSource()==b5)
{
te.append("5");
text.setText(te.toString());
}
if(e.getSource()==b6)
{
te.append("6");
text.setText(te.toString());
}
if(e.getSource()==b7)
{
te.append("7");
text.setText(te.toString());
}
if(e.getSource()==b8)
{
te.append("8");
text.setText(te.toString());
}
if(e.getSource()==b9)
{
te.append("9");
text.setText(te.toString());
}
if(e.getSource()==b0)
{
te.append("0");
text.setText(te.toString());
}
if(e.getSource()==bx)
{
int u=-1;
if (u!=(te.indexOf(".")))
{
text.setText(te.toString());
}
else
{
te.append(".");
text.setText(te.toString());
}
}
}
}
static class bby implements ActionListener
{
static double bb(int m)
{
if(m==1)
{
return 1;
}
else
{
return m*(bb(m-1));
}
}
public void actionPerformed(ActionEvent e)
{
tem1=(Double.valueOf(text.getText()).doubleValue());
te.delete(0,te.length());
System.out.println(te);
System.out.println(tem1);
if(e.getSource()==bjia)
{
x=1;//+
}
if(e.getSource()==bjian)
{
x=2;//-
}
if(e.getSource()==bcheng)
{
x=3;//*
}
if(e.getSource()==bchu)
{
x=4;// /
}
if(e.getSource()==bC)
{
x=0;
te.delete(0,te.length());
text.setText("0");
tem1=0;tem2=0;
}
if(e.getSource()==bCE)
{
x=0;
te.delete(0,te.length());
text.setText("0");
tem1=0;tem2=0;
}
if(e.getSource()==bbai)
{
tem1=tem1*0.01;
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==bjue)
{
tem1=tem1*-1;
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==by)
{
x=5;
}
if(e.getSource()==by2)
{
tem1=tem1*tem1;
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==by3)
{
tem1=tem1*tem1*tem1;
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==b1x)
{
tem1=1/tem1;
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==bk2)
{
if(tem1==0)
{;}
else
{
tem1=(Math.sqrt(tem1));
}
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==bxx)
{
if(tem1==0)
{tem1=0;}
else
{
int r=(int)tem1;
tem1=bb(r);
}
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
}
if(e.getSource()==bxxx)
{
}
}
}
static class bdeng implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//等号的监听器
tem2=(Double.valueOf(text.getText()).doubleValue());
te.delete(0,te.length());
if(x==0)
{
tem1=(Double.valueOf(text.getText()).doubleValue());
}
if(x==1)
{
tem1=tem1+tem2;
}
if(x==2)
{
tem1=tem1-tem2;
}
if(x==3)
{
tem1=tem1*tem2;
}
if(x==5)
{
double r=tem1;
for(int i=1;i<(int)tem2;i++)
{
tem1=tem1*r;
}
}
if(x==4)
{
if(tem1==0)
{
;
}
else
{
tem1=tem1/tem2;
}
}
te.append(""+tem1);
text.setText(te.toString());
te.delete(0,te.length());
x=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -