import java.awt.*;
import java.awt.event.*;
//创建JPanel面板
class PanelTest extends JApplet
{
JPanel p;
public PanelTest()
{
p=new JPanel();
getContentPane().add(p);
}
}
//创建JButton按钮 并将按钮添加到面板
class ButtonTest extends PanelTest
{
JButton butObj1;
JButton butObj2;
public ButtonTest()
{
butObj1=new JButton("击我");
butObj2=new JButton("按钮2");
butObj1.setEnabled(true);//使能
butObj2.setEnabled(false);//不使能
p.add(butObj1);
p.add(butObj2);
}
}
//创建FlowLayout流布局管理器 并为面板设置流布局
class FlowLayoutTest extends ButtonTest
{
FlowLayout layoutObj;
public FlowLayoutTest()
{
layoutObj=new FlowLayout(FlowLayout.CENTER,10,10);
p.setLayout(layoutObj);//将流布局添加到面板
}
}
//创建事件类EventTest 并为按钮添加事件
class EventTest extends FlowLayoutTest
{
ButtonEvent beObj;
public EventTest()
{
beObj=new ButtonEvent();//创建事件内部类对象
butObj1.addMouseListener(beObj); //为butObj1注册监听器
butObj2.addMouseListener(beObj);//为butObj2注册监听器
}
//下面为一个事件内部类,编写事件处理代码
class ButtonEvent implements MouseListener
{
//重写MouseListener接口的所有方法
public void mouseClicked(MouseEvent e)
{
Object obj=e.getSource();//返回事件类
if(obj==butObj1)
{
butObj1.setEnabled(false);
butObj1.setText("按钮1");
butObj2.setEnabled(true);
butObj2.setText("击我");
}
if(obj==butObj2)
{
butObj2.setEnabled(false);
butObj2.setText("按钮2");
butObj1.setEnabled(true);
butObj1.setText("击我");
}
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
}
//下面代码是包含init()方法的公共类
public class J01_MouseEvent
{
public void init()
{
new EventTest();//???
}
}
上面是我用jdk1.4做的一个事件处理, 编译 运行都没有错,
但启动的小应用程序说我没有初始化. 不知道是怎么回事, 请指点 谢谢