actionPerformed in einer Klasse Buttons

Status
Nicht offen für weitere Antworten.

xpucto

Mitglied
Hallo!
Ich schreibe derzeit eine Applikation und bin derzeit nur mit der GUI und Events beschäftigt. Ich habe die Menüs und ihre Events bei der Hauptklasse geschrieben (wo der Main Methode ist). Bis jetzt läuft alles gut. Dann möchte ich eine Klasse Buttons schrieben, die sich mit nur der Buttons beschäftigt. Die Buttons sind erzeugt aber bei den Events gibt es keine reaktion. Ich verstehe nicht warum. Hier ist der Code der Klasse Buttons :
Code:
//* Klasse: Buttons		*
//*				*
//*******************************

/* 	Die Klasse erzeugt und verweltet Ereignissen von Buttons
   	Als Argument wird ein Panel von HauptPanel gebraucht  */

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

public class Buttons extends JPanel implements ActionListener {

	static HauptPanel ss;  //Die Buttons werden mit einem Panel zusammen verbunden
	//Buttons
	protected JButton bGrammatik;
        protected JButton bMuendlich;
        protected JButton bSchrifftlich;

	//Konstruktor
	public Buttons (HauptPanel hPanel) {    //Der Konstruktor braucht einen HauptPanel Objekt als Argument
	super();
	ss = hPanel;
	setLayout(new FlowLayout(FlowLayout.CENTER));

        JButton bGrammatik = new JButton("Exercices de grammaire",new ImageIcon("graphics/book01.gif"));
        JButton bMuendlich = new JButton("Compéhension orale",new ImageIcon("graphics/beans.gif"));
        JButton bSchrifftlich = new JButton("Compréhension écrite", new ImageIcon("graphics/filview2.gif"));
        //Hinfuegen
        add(bGrammatik);
        add(bMuendlich);
        add(bSchrifftlich);
	//Events
	bGrammatik.addActionListener(this);
	bMuendlich.addActionListener(this);
	}//End Konstruktor


     		//**************
                //  Ereignisse *
                //**************
public void actionPerformed(ActionEvent ae)
{
        //Quelle des Ereignisses
        Object quelle = ae.getSource();

        if (quelle == bGrammatik) {
	String  messageDanke = "Grammaire\n ";
        JOptionPane.showMessageDialog(null, messageDanke, "Grammaire test", JOptionPane.INFORMATION_MESSAGE);
        //JOptionPane.showMessageDialog(ss, messageDanke, "Grammaire test", JOptionPane.INFORMATION_MESSAGE);
        }//End if bGrammatik

        if (quelle == bMuendlich) {
	String  messageDanke = "Grammaire\n ";
        JOptionPane.showMessageDialog(null, messageDanke, "Grammaire test", JOptionPane.INFORMATION_MESSAGE);
        }//End if bGrammatik
}//End actionPerformed

}//End class Buttons
Hat Jemand eine Idee?
Danke.
 
Du erzeugst zwei Variablen "bGrammatik", einmal als Objektvariable auf Zeile 17, und einmal als Methodenvariable auf Zeile 27. Diese beiden Variablen haben nichts miteinander zu tun.

Mach in Zeile 27 aus "JButton bGrammatik = ..." ein "bGrammatik = ...", dann gibt es nur noch eine Variable.

Dasselbe gilt für die anderen Buttons.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben