ActionListener numberListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == bNumber[0])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(0));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(0.));
}
else if(e.getSource() == bNumber[1])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(1));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(1.));
}
else if(e.getSource() == bNumber[2])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(2));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(2.));
}
else if(e.getSource() == bNumber[3])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(3));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(3.));
}
else if(e.getSource() == bNumber[4])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(4));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(4.));
}
else if(e.getSource() == bNumber[5])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(5));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(5.));
}
else if(e.getSource() == bNumber[6])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(6));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(6.));
}
else if(e.getSource() == bNumber[7])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(7));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(7.));
}
else if(e.getSource() == bNumber[8])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(8));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(8.));
}
else if(e.getSource() == bNumber[9])
{
if(opr_Trag == true)
{
opr_Trag = false;
SBuffer = jtText.getText();
}
if(pot_Trag == true)
jtText.setText(jtText.getText()+String.valueOf(9));
jtText.setText((jtText.getText()).substring((jtText.getText()).length() - 1)+String.valueOf(9.));
}
else if(e.getSource() == bPnt) pot_Trag = true;
}
}; ActionListener commandListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == bAdd) {cOpr = '+'; opr_Trag = true;}
else if(e.getSource() == bSub) {cOpr = '-'; opr_Trag = true;}
else if(e.getSource() == bMul) {cOpr = '*'; opr_Trag = true;}
else if(e.getSource() == bDiv) {cOpr = '/'; opr_Trag = true;}
}
}; ActionListener functionListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == bSin)
{
dResult = Math.sin(Double.parseDouble(jtText.getText()));
jtText.setText(String.valueOf(dResult));
}
if(e.getSource() == bCos)
{
dResult = Math.cos(Double.parseDouble(jtText.getText()));
jtText.setText(String.valueOf(dResult));
}
if(e.getSource() == bTan)
{
dResult = Math.tan(Double.parseDouble(jtText.getText()));
jtText.setText(String.valueOf(dResult));
}
if(e.getSource() == bSqu)
{
dResult = Math.sqrt(Double.parseDouble(jtText.getText()));
jtText.setText(String.valueOf(dResult));
}
if(e.getSource() == bCub)
{
dResult = Math.sqrt(Double.parseDouble(jtText.getText()))
* Double.parseDouble(jtText.getText());
jtText.setText(String.valueOf(dResult));
}
if(e.getSource() == bPi)
{
jtText.setText("3.14159265358979");
}
}
}; ActionListener operationListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
};
}----------
解决方案 »
- Java截取网页源代码的问题
- 突然的问题~~~ String 的 immutable 体现在哪里?
- 【菜鸟求学】这种格式该怎么理解?
- 如何解决:[Microsoft][SQLServer JDBC Driver]Unhandled data type: TDS_INT8
- 关于下拉框监听事件,分不够再加!
- 新人提问!
- 我的JCreator2.5不能安装,请帮帮我。
- 多谢 anubis 请接分
- 目录和beanns不在一个根目录下,怎么解决usebean不能用的问题
- 如何用java实现将数据库中的image类型数据导出到文本文件。并导入(高分求救!!)
- 大哥们,帮帮小妹了!
- 初学GUI,遇到的一个问题(附例程)
java.lang.NullPointerException
at Calculate.init(calculate.java:35)
at sun.applet.AppletPanel.run(AppletPanel.java:353)
at java.lang.Thread.run(Thread.java:534)
-----------
不知何故,请各位大哥大姐叔叔阿姨给偶解释一下,谢谢。
要不你就重装你的浏览器!ie5或者ie5.5都可以。
private Button bAdd , bSub , bMul , bDiv , bPnt , bEql;
private Button bCE , bBackSpace;
这里是14个Button ,你只创建了12个
bSin = new Button("sin"); bCos = new Button("cos");
bTan = new Button("tan"); bSqu = new Button("x^2");
bCub = new Button("x^3"); bPi = new Button("PI"); bAdd = new Button("+"); bSub = new Button("-");
bMul = new Button("*"); bDiv = new Button("/"); bPnt = new Button("."); bEql = new Button("=");
一是Button数组 bNumber[],没有声明数组大小,应该加入下面这句
Button bNumber[] = new Button[10];
二是有两个 Button对象 bCE 和 bBackSpace没有实例化为对象,应该加入下面两句:
bCE = new Button("CE");
bBackSpace = new Button("SPACE");所以你的程序里的 init()方法应该如下,其他部分不用改变,可以编译并浏览public void init()
{
// 初始化面板
PFrame = new Panel();
PNumber = new Panel(); // 数字面板
PFunction = new Panel(); // 函数面板
POperation = new Panel(); // 运算符面板
// 初始化按钮
//修改部分:
Button bNumber[] = new Button[10];
for(int i = 0 ; i <=9 ; i++)
bNumber[i] = new Button(String.valueOf(i)); bSin = new Button("sin"); bCos = new Button("cos");
bTan = new Button("tan"); bSqu = new Button("x^2");
bCub = new Button("x^3"); bPi = new Button("PI"); bAdd = new Button("+"); bSub = new Button("-");
bMul = new Button("*"); bDiv = new Button("/"); bPnt = new Button("."); bEql = new Button("=");
//修改部分:
bCE = new Button("CE");
bBackSpace = new Button("SPACE"); //数字面板
PNumber.setLayout(new GridLayout(4 , 3 , 10 , 8));
PNumber.add(bNumber[7]); PNumber.add(bNumber[8]); PNumber.add(bNumber[9]);
PNumber.add(bNumber[4]); PNumber.add(bNumber[5]); PNumber.add(bNumber[6]);
PNumber.add(bNumber[1]); PNumber.add(bNumber[2]); PNumber.add(bNumber[3]);
PNumber.add(bNumber[0]); PNumber.add(bPnt); PNumber.add(bEql); for(int i = 0 ; i <=9 ; i++)
bNumber[i].addActionListener(numberListener);
bPnt.addActionListener(numberListener); bEql.addActionListener(operationListener);
//运算符面板
POperation.setLayout(new GridLayout(4 , 1 , 10 , 8));
POperation.add(bDiv); POperation.add(bMul);
POperation.add(bSub); POperation.add(bAdd); bDiv.addActionListener(commandListener); bMul.addActionListener(commandListener);
bSub.addActionListener(commandListener); bAdd.addActionListener(commandListener);
//函数面板
PFunction.setLayout(new GridLayout(4 , 2 , 10 , 8));
PFunction.add(bBackSpace); PFunction.add(bCE);
PFunction.add(bSin); PFunction.add(bCos);
PFunction.add(bTan); PFunction.add(bSqu);
PFunction.add(bCub); PFunction.add(bPi); bBackSpace.addActionListener(operationListener); bCE.addActionListener(operationListener);
bSin.addActionListener(functionListener); bCos.addActionListener(functionListener);
bTan.addActionListener(functionListener); bSqu.addActionListener(functionListener);
bCub.addActionListener(functionListener); bPi.addActionListener(functionListener);
//主框架
jtText = new JTextField("0." , 65);
jtText.setHorizontalAlignment(JTextField.RIGHT);
jtText.setEditable(false);
// setSize(200 , 170);
PFrame.setLayout(new BorderLayout());
PFrame.add(jtText , BorderLayout.NORTH);
PFrame.add(PNumber , BorderLayout.WEST);
PFrame.add(POperation , BorderLayout.CENTER);
PFrame.add(PFunction , BorderLayout.EAST);
add(PFrame);
}