大家好,我遇到了一个问题,“类型FahrzeugFrame
必须实现继承的抽象方法ActionListener.actionPerformed(ActionEvent)
”。
这只是学校的家庭作业,我已经有了答案。问题是我试图制作我的教授所写的相同代码的版本,但它并没有贬低。
我的代码看起来像这样。
public class FahrzeugFrame extends JFrame implements ActionListener {
private JButton erzeugenButton;
private JButton loeschenButton;
private JButton beschleunigenButton;
private JTextArea ausgabeBereich;
private Fahrzeug aktFahrzeug;
public FahrzeugFrame(){
this.setTitle("Fahrzeug");
this.setSize(800,300);
this.erzeugenButton = new JButton("Erzeugen");
this.loeschenButton = new JButton("Loeschen");
this.beschleunigenButton= new JButton("Beschleunigen");
this.ausgabeBereich = new JTextArea(10,200);
JPanel buttonPanel = new JPanel();
buttonPanel.add(this.erzeugenButton);
buttonPanel.add(this.loeschenButton);
buttonPanel.add(this.beschleunigenButton);
Container contentPane = this.getContentPane();
contentPane.add(buttonPanel);
contentPane.add(ausgabeBereich);
this.erzeugenButton.addActionListener(this);
this.loeschenButton.addActionListener(this);
this.beschleunigenButton.addActionListener(this);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
Object source = e.getSource();
if (source == this.erzeugenButton) {
this.erzeugen();
}
if (source == this.loeschenButton) {
this.loeschen();
}
if (source == this.beschleunigenButton){
this.beschleunigen();
}
}
private void erzeugen {
if (this.aktFahrzeug != null){
this.ausgabeBereich.setText("es existiert bereits ein Fahrzeug, erst mal löschen");
}
else {
String einlesenX = JOptionPane.showInputDialog(" X : ");
int x = Integer.parseInt(einlesenX);
String einlesenY = JOptionPane.showInputDialog(" Y : ");
int y = Integer.parseInt(einlesenY);
String einlesenRad = JOptionPane.showInputDialog(" Anzahl der Räder");
int anzahlRader = Integer.parseInt(einlesenRad);
String einlesenGewicht = JOptionPane.showInputDialog("Gewicht des Fahrzeugs");
double gewicht = Double.parseDouble(einlesenGewicht);
String einlesenGeschwindigkeit = JOptionPane.showInputDialog("Geschwindigkeit");
double geschwindigkeit = Double.parseDouble(einlesenGeschwindigkeit);
this.aktFahrzeug = new Fahrzeug(x , y , anzahlRader, gewicht, geschwindigkeit);
this.ausgabeBereich.setText("Folgendes Objekt wurde erzeugt : " + this.aktFahrzeug + " mit der Geschwindigkeit " + this.aktFahrzeug.getAktuelleGeschwindigkeit());
}
}
private void loeschen {
if (this.aktFahrzeug == null) {
this.ausgabeBereich.setText("es existiert kein Fahrzeug");
}
else {
this.aktFahrzeug = null;
this.ausgabeBereich.setText("gelöscht");
}
}
private void beschleunigen {
String einlesenBeschleunigung = JOptionPane.showInputDialog("Beschleunigung ?");
double beschleunigung = Double.parseDouble(einlesenBeschleunigung);
this.aktFahrzeug.beschleunigen(beschleunigung);
this.ausgabeBereich.setText("Aktuelle Geschwindigkeit : " + this.aktFahrzeug.getAktuelleGeschwindigkeit());
}
}