因为 ItemListener 是 interface. 所以不可以直接 new ItemListener() .
首先你必须 加个 abstract ItemListenerClass implement ItemLister {}
然后用 new ItemListenerClass () {} 就可以拉。
首先你必须 加个 abstract ItemListenerClass implement ItemLister {}
然后用 new ItemListenerClass () {} 就可以拉。
import java.awt.*;
import java.awt.event.*;public class CheckboxExample extends Applet
{
public void init(){
Checkbox redBlue=new Checkbox("Red/Blue");
add (redBlue);
redBlue.addItemListener(new ItemListener(){
public void itemStateChanged(java.awt.event.ItemEvent evt){
if(evt.getStateChange()==ItemEvent.SELECTED)
setColor(Color.red);
else
setColor(Color.blue);
}
});
}
public void setColor(Color color){
setBackground(color);
repaint();
}
}
import java.awt.*;
import java.awt.event.*;public class CheckboxExample extends Applet
{
public void init(){
Checkbox redBlue=new Checkbox("Red/Blue");
add (redBlue);
redBlue.addItemListener(new ItemListener(){
public void itemStateChanged(java.awt.event.ItemEvent evt){
if(evt.getStateChange()==ItemEvent.SELECTED)
setColor(Color.red);
else
setColor(Color.blue);
}
});
}
public void setColor(Color color){
setBackground(color);
repaint();
}
}
不行啊!D:\myapp>javac CheckboxExample.java
CheckboxExample.java:30: 'class' or 'interface' expected
D:\myapp>javac CheckboxExample.java
^
CheckboxExample.java:30: illegal character: \92
D:\myapp>javac CheckboxExample.java
^
CheckboxExample.java:32: 'class' or 'interface' expected
ct; it does not define itemStateChanged(java.awt.event.ItemEvent) in
^
CheckboxExample.java:13: <anonymous CheckboxExample$1> should be declared abstra
ct; it does not define itemStateChanged(java.awt.event.ItemEvent) in
public void itemStateChange(java.awt.event.ItemEvent evt)
^
4 errors
D:\myapp>javac CheckboxExample.java
CheckboxExample.java:14: 'class' or 'interface' expected
abstract ItemListenerClass implement ItemLister {}
^
1 error
写错了,itemListened 接口的抽象事件名字错了
下次高清楚再说