Как реализовать ActionListener с неабстрактным классом в Java

Вот код, который я пытаюсь скомпилировать. Все, что я получаю, это ошибка, подобная этой

s09_02 не является абстрактным и не переопределяет абстрактный метод actionPerformed(java.awt.event.ActionEvent) в java.awt.event.ActionListener.

Итак, мой вопрос: как я могу внедрить ActionListener в свой класс (s09_02), если класс не является абстрактным?

Вот весь код: (Потому что я понятия не имею, где может быть проблема)

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class s09_02 extends Applet implements ActionListener{
public void init()
 {
  setLayout(null);
  setBackground(new Color(0,10,100));
 }
 public void paint(Graphics p){String t=null;
 int x,y,w,h,r,g,b;
 t=getParameter("xx");
 x=Integer.parseInt(t);
 t=getParameter("yy");
 y=Integer.parseInt(t);
 t=getParameter("ww");
 w=Integer.parseInt(t);
 t=getParameter("hh");
 h=Integer.parseInt(t);
 t=getParameter("rr");
 r=Integer.parseInt(t);
 t=getParameter("gg");
 g=Integer.parseInt(t);
 t=getParameter("bb");
 b=Integer.parseInt(t);
 p.setColor(new Color(r,g,b));
 p.fillRect(x,y,w,h);

} }

<html>
<body>
<applet code="s09_02.class" width=400 height=400>
<param name="xx" value="25"><param name="yy" value="25">
<param name="ww" value="150"><param name="hh" value="150">
<param name="rr" value="0"><param name="gg" value="150">
<param name="bb" value="100">
</applet>
</body>
</html>


Also suggest me what changes should i make in this code so that code runs properly ??
Thanks...

person user3046211    schedule 03.04.2014    source источник
comment
Делайте то, что сказал вам компилятор: реализуйте метод public void actionPerformed(ActionEvent ae){}.   -  person Jared    schedule 03.04.2014
comment
1) Зачем кодировать апплет? Если это связано со спец. учителем, направьте их на Почему преподавателям компьютерных наук следует прекратить преподавать апплеты Java. 2) Почему AWT, а не Swing? См. мой ответ на Switch extras over AWT по многим веским причинам отказаться от использования компонентов AWT.   -  person Andrew Thompson    schedule 04.04.2014


Ответы (2)


Вам нужно добавить public void actionPerformed(ActionEvent e){} в свой код, когда вы реализуете ActionListner.

ActionListner — это interface, поэтому вам нужно переопределить абстрактные методы ActionListner.

Если вы не используете какое-либо событие, удалите implements ActionListner из своего кода.

person CHOCKO    schedule 03.04.2014
comment
: Эй, спасибо за ваше предложение. У меня сработало удаление прослушивателя действий из моего кода.... - person user3046211; 03.04.2014
comment
@user3046211 user3046211 Тогда примите этот ответ, если он был полезен. - person CHOCKO; 03.04.2014

Вам нужно реализовать метод

    @override
public void actionPerformed(ActionEvent e){
//code that dose something
}

http://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionListener.html

person TheBetaProgrammer    schedule 03.04.2014