Java 中出现“ActionListener不能作为一个类处理”的错误,该怎样改呢??
importjava.awt.*;importjava.io.*;importjava.awt.event.ActionEvent;importjavax.swing.*...
import java.awt.*;
import java.io.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class CheckBoxTest extends JFrame implements ActionListener{
public CheckBoxTest(){
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JCheckBox jc1=new JCheckBox();
JCheckBox jc2=new JCheckBox();
JCheckBox jc3=new JCheckBox();
JTextArea jt=new JTextArea();
Container c=getContentPane();
c.setLayout(new BorderLayout());
c.add(panel1,BorderLayout.NORTH);
final JScrollPane scrollPane=new JScrollPane();
panel1.add(scrollPane);
c.add(panel2);
panel2.add(jc1);
jc1.addActionListener(new ActionListener(this){
public void actionPerformed(ActionEvent e){
jt.append("复选框1被选中\n");
}
});
panel2.add(jc2);
jc2.addActionListener(new ActionListener(this){
public void actionPerformed(ActionEvent e){
jt.append("复选框2被选中\n");
}
});
panel2.add(jc3);
jc1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jt.append("复选框3被选中\n");
}
});
setTitle("复选框的选择窗体");
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String[]args){
new CheckBoxTest();
}
} 展开
import java.io.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class CheckBoxTest extends JFrame implements ActionListener{
public CheckBoxTest(){
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JCheckBox jc1=new JCheckBox();
JCheckBox jc2=new JCheckBox();
JCheckBox jc3=new JCheckBox();
JTextArea jt=new JTextArea();
Container c=getContentPane();
c.setLayout(new BorderLayout());
c.add(panel1,BorderLayout.NORTH);
final JScrollPane scrollPane=new JScrollPane();
panel1.add(scrollPane);
c.add(panel2);
panel2.add(jc1);
jc1.addActionListener(new ActionListener(this){
public void actionPerformed(ActionEvent e){
jt.append("复选框1被选中\n");
}
});
panel2.add(jc2);
jc2.addActionListener(new ActionListener(this){
public void actionPerformed(ActionEvent e){
jt.append("复选框2被选中\n");
}
});
panel2.add(jc3);
jc1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jt.append("复选框3被选中\n");
}
});
setTitle("复选框的选择窗体");
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String[]args){
new CheckBoxTest();
}
} 展开
2个回答
展开全部
把红波浪线标出的地方更改一下:
jc1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jt.append("复选框1被选中\n");
}
});
其他的地方也照此办理,即将括号中的this去掉。
另外,把上面的implements ActionListener也去掉,你既然写了匿名内部类,就没有必要实现ActionLIstener接口了。
jc1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jt.append("复选框1被选中\n");
}
});
其他的地方也照此办理,即将括号中的this去掉。
另外,把上面的implements ActionListener也去掉,你既然写了匿名内部类,就没有必要实现ActionLIstener接口了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询