2013-01-24 5 views
2

Heres mon code:ne peut pas être résolu

import javax.swing.*; 
import java.awt.*; 


public class FirstGui extends JFrame { 
    private JLabel label; 
    private JButton button; 

    public FirstGui() { 

     setLayout(new FlowLayout()); 

     button = new JButton("Click for sex"); 
     add(button); 

     label = new JLabel(""); 
     add(label); 

     event e = new event(); 
     button.addActionListener(e); 
    } 

    public class event implements ActionListener { 

     public void actionPerformed(ActionEvent e) { 

      label.setText("how you can see wors here"); 

     } 
    } 

    public static void main(String [] args) { 
     FirstGui gui = new FirstGui(); 

     gui.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     gui.setSize(200, 200); 
     gui.setTitle("Title"); 
     gui.setVisible(true); 

    } 

} 

Et il génère une erreur:

ActionEvent ne peut être résolu à un type FirstGui.java/ligne Test/src 26 Java Problème

ActionListener ne peut pas être résolu en un type FirstGui.java/Test/src ligne 24 Java Problème

La méthode addActionListener (ActionListener) dans le type AbstractButton ne s'applique pas à t Il arguments (FirstGui.event) FirstGui.java/Test/src ligne 21 Java Problème

Qu'est-ce qui ne va pas ??? im nouveau à Java.

+2

Vous devez 'importation java.awt.event . *; ' –

+1

il semble qu'il vous manque des instructions' import' ou quelque chose comme ça –

+2

Pourquoi avez-vous 2 classes publiques dans le même fichier source? Est-ce que ce code compile? Vous ne pouvez avoir qu'une classe publique dans un fichier source. – Mechkov

Répondre

0

ActionEvent et ActionListener sont situés dans le paquet java.awt.event.

L'importation de java.awt.* n'est pas suffisante.

4

Importer les éléments suivants:

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
0

deux de ces classes vous avez besoin de les importer. Vous pouvez le faire en tout importateur java.awt.event:

import java.awt.event.*; 

ou vous pouvez simplement vouloir importer précisément ce que vous utilisez:

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

Rappelez-vous qu'il est considéré comme une bonne pratique à l'importation classes individuelles (la dernière option) au lieu d'importer des paquets entiers.

Si jamais vous êtes coincé comme ça à nouveau, en regardant The Docs for any Java Class vous dira exactement ce que vous devez importer avec un petit diagramme qui ressemble à ceci:

java.lang.Object 
    java.util.EventObject 
     java.awt.AWTEvent 
      java.awt.event.ActionEvent