用JAVA设计计算器,事件处理
为什么事件处理后,执行却没有发生。求助~
import java.awt.*;
import java.io.*;
import java.awt.event.*;
class W_calcu
{
public Frame fra;
public TextField t;
public Panel pan;
public GridLayout grid;
public Button []bt = new Button[20];
W_calcu()
{
fra = new Frame("计算器");
t = new TextField("0.");
fra.setLayout(null);
pan = new Panel();
GridLayout grid = new GridLayout(5,4);
pan.setLayout(grid);
String str[] = {"sin","cos","^","!","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};
for(int i = 0;i<20;i++)
{bt[i] = new Button(str[i]);
pan.add(bt[i]);
}
t.setBackground(Color.yellow);
//设置输入文本域大小
t.setBounds(20,30,160,20);
pan.setBounds(20,60,160,180); //设置计算机的各个功能键
//fra.add(lab);
fra.add(t);
fra.add(pan);
fra.setLocation(400,400);
fra.setSize(200,260);
fra.setVisible(true);
}
}
public class Do_calcu extends W_calcu implements ActionListener
{
static Do_calcu lis = new Do_calcu();
void setenvent1()
{
for(int i = 0;i<20;i++)
bt[i].addActionListener(lis);
}
public void actionPerformed(ActionEvent e)
{
Button btn = (Button)e.getSource();
for(int i=0;i<20;i++)
if(btn==bt[i])
{
t.setText(bt[i].getLabel());
}
}
public static void main(String args[])
{
Do_calcu li = new Do_calcu();
}
}