2017-01-25 1 views
-2

Hey Jungs so begann ich gerade wirklich mit dem Grafikteil von Java zu praktizieren, und ich bin gekommen, in einen Fehler habe ich noch nie jemals gesehen.Exception in thread „AWT-Eventqueue-0 Nicht unterstützte Operation

Ich bin werde meinen Code posten und dann werden mir Bilder von der Fehlermeldung angezeigt, weil ich nicht die geringste Ahnung davon habe, was eigentlich passiert, ich habe eine Idee, aber was soll ich nicht selbst verwirren, damit ich mir vielleicht jemand hier vorgestellt habe hatte ein ähnliches Problem? Danke Jungs! (Entwicklung in Netbeans)

Programm läuft und wirft diesen Fehler beim Versuch, auf einen der beiden Schaltflächen zu klicken, bezieht sich die Fehlermeldung Linie Linie Nummer der Override-Methode in Code

enthalten

enter image description here

der Überbrückungs Methode wird automatisch generiert, nachdem ich das Programm Es führt den Fehler (Bild oben) und Fehler führen, wenn sie versuchen, entweder der 2 Tasten

klicken
import java.awt.event.WindowAdapter; 
import java.awt.event.WindowEvent; 

/** 
* 
* @author Jonathan 
*/ 
class WindowDestroyer extends WindowAdapter 
{ 
    public void window(WindowEvent e) 
    { 
     System.exit(0); 
    } 

} 
/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package game; 
import java.awt.Color; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import java.awt.Container; 
import java.awt.FlowLayout; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import java.util.Set; 



/** 
* 
* @author Jonathan 
*/ 
public class ButtonDemo extends JFrame implements ActionListener 
{ 
    public static final int WIDTH = 400; 
    public static final int HEIGHT = 300; 
    public ButtonDemo() 
    { 
     setSize(WIDTH, HEIGHT); 
     WindowDestroyer listener = new WindowDestroyer(); 
     addWindowListener(listener); 

     Container contentPane = getContentPane(); 
     contentPane.setBackground(Color.white); 

     contentPane.setLayout(new FlowLayout()); 

     JButton sunnyButton = new JButton("Sunny"); 
     sunnyButton.addActionListener(this); 
     contentPane.add(sunnyButton); 


     JButton cloudyButton = new JButton("Cloudy"); 
     cloudyButton.addActionListener(this); 
     contentPane.add(cloudyButton); 
    } 
    public void actionPreformed(ActionEvent e) 
    { 
     String actionCommand = e.getActionCommand(); 
     Container contentPane = getContentPane(); 

     if(actionCommand.equals("Sunny")) 
      contentPane.setBackground(Color.BLUE); 
     else if(actionCommand.equals("Cloudy")) 
      contentPane.setBackground(Color.GRAY); 
     else 
      System.out.println("Error in button interface"); 

    } 

    @Override 
    public void actionPerformed(ActionEvent ae) { 
     throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
    } 
} 
+0

Bitte geben Sie die Frage aktualisieren und stellen einen besseren Titel – Dekel

+2

Blick auf die 'actionPerformed' Methode finden, wo es heißt *„throw new UnsupportedOperationException (“noch nicht unterstützt.„);“* - das wäre Ihr Problem – MadProgrammer

+0

Was genau mache ich das wird nicht unterstützt? –

Antwort

1

Die Methode, die Sie wollen zu rufen wurde falsch benannt. Es automatisch generierte

public void actionPerformed(ActionEvent ae) 

weil Sie erklärt:

public void actionPreformed(ActionEvent e) 

nicht sicher, was "Preformed" bedeutet. :-)

Das automatisch generierte actionPerformed löst nur die von Ihnen erwähnte Ausnahme aus.

+0

Sie sind erstaunlich, danke !!!!!! Ich hätte die ganze Nacht darüber nachgedacht. –

+0

Sie sind nicht allein. Ich finde oft, dass ich Exceptions abfange. – captainroxors

+1

@DavidGreen, 'Ich hätte die ganze Nacht darüber gelesen. - Wenn Sie eine Methode überschreiben, sollten Sie' @ Override' vor der Methodensignatur verwenden und der Compiler benachrichtigt Sie, wenn Sie eine falsche Methodensignatur haben. Beachten Sie, wie der generierte Code den @Override hat? Vergessen Sie auch nicht, die Antwort zu "akzeptieren", indem Sie auf das Häkchen klicken, damit die Leute wissen, dass das Problem gelöst wurde. – camickr

Verwandte Themen