Hallo, ich hab einige progleme mit abstakten Klassen. ich habe ein Program geschrieben, welches mir ein Fenster öffnen soll, mit 2 button und einem Label.
nun sagt er mir:
GUI_Button.Knopfdruck is not abstract and does not override abstract method actionPreformed(java.awt.event.ActionEvent) in java.awt.event ActionListener.
was mache ich falsch? und was ist der Sinn einer abstrakten Klasse?
Java:
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
public class MeinFenster extends Frame
{
public MeinFenster(String title, int w, int h)
{
this. setTitle(title);
this.setSize(w, h);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((d.width - getSize().width)/2, (d.height - getSize().height)/2);
}
}
class GUI_Button extends MeinFenster
{
Button button1, button2;
Label label1;
class MeinWindowLauscher extends WindowAdapter
{
public void windowClosing(WindowEvent f)
{
System.exit(0);
}
}
public GUI_Button(String title, int w, int h)
{
super(title, w, h);
setSize(w, h);
addWindowListener(new MeinWindowLauscher());
ActionListener aktion = new Knopfdruck();
setLayout(new FlowLayout());
button1 = new Button("Linker Knopf");
add(button1);
button1.addActionListener(aktion);
button1.setActionCommand("b1");
button2 = new Button("Rechter Knopf");
add(button2);
button2.addActionListener(aktion);
button2.setActionCommand("b2");
label1 = new Label("Ein Label");
add(label1);
setVisible(true);
}
class Knopfdruck implements ActionListener
{
public void actionPreformed (ActionEvent e)
{
label1.setText(e.getActionCommand());
}
}
public static void main(String[] args)
{
GUI_Button g = new GUI_Button("Schliesse mich!", 500, 500);
}
}
nun sagt er mir:
GUI_Button.Knopfdruck is not abstract and does not override abstract method actionPreformed(java.awt.event.ActionEvent) in java.awt.event ActionListener.
was mache ich falsch? und was ist der Sinn einer abstrakten Klasse?