JButton.setText Problem

knieger

Mitglied
Hey Leute ich hoffe ihr könnt und wolt mir helfen,
für die schule muss ich ein Würfelspiel Programmirenen und ich will den Text eines Buttons Während das Programm läuft verändern, Leider passiert wenn ich das Programm ausführe beim Button Garnichts es kommt auch kein compilierungsfehler.
Hier der Quelltext:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JButton;

public class Spiel extends JFrame implements ActionListener
{  
     
     private JTextField tfSp1, tfSp2, tfRnd, tfTxt;
     private JButton btWuerfeln, btBeenden;
     private Spieler spieler1;
     private Spieler spieler2;
     int rnd = 0;
     int gesSp1, gesSp2;
     
     public Spiel()
     {    super("Simulation eines Knobelspiels");

          this.spieler1 = new Spieler(6);
          this.spieler2 = new Spieler(4);

          this.getContentPane().setBackground(Color.lightGray);
          this.getContentPane().setLayout(null);
          //Würfeln-Button
          JButton btWuerfeln = new JButton("Neues Spiel");
          btWuerfeln.setBounds (200, 600, 300, 100);
          btWuerfeln.setBackground(Color.green);
          btWuerfeln.setFont(new Font("Dialog", 0, 30));
          btWuerfeln.addActionListener(this);
          this.getContentPane().add(btWuerfeln);
          //Beenden-Button
          JButton btBeenden = new JButton("End");
          btBeenden.setFont(new Font("Dialog", 0, 30));
          btBeenden.setBounds (550, 600, 100, 100);
          btBeenden.setBackground(Color.green);
          btBeenden.addActionListener(this);
          this.getContentPane().add(btBeenden);
          //Spieler1-Label
          JLabel lbSp1 = new JLabel ("Spieler1:");
          lbSp1.setBounds (50, 0, 300, 100);
          lbSp1.setFont(new Font("Dialog", 0, 75));
          this.getContentPane().add (lbSp1);
          //Runden-Label
          JLabel lbRnd = new JLabel ("Rnd:");
          lbRnd.setBounds (400,25, 50, 100);
          lbRnd.setFont(new Font("Dialog", 0, 20));
          this.getContentPane().add (lbRnd);
          //Spieler2-Label
          JLabel lbSp2 = new JLabel ("Spieler2:");
          lbSp2.setBounds (500, 0, 300, 100);
          lbSp2.setFont(new Font("Dialog", 0, 75));
          this.getContentPane().add (lbSp2);
          //Spieler1-Anzeige
          tfSp1 = new JTextField (40);
          tfSp1.setText ("");
          tfSp1.setBounds (50, 100, 300, 100);
          tfSp1.setFont(new Font("Dialog", 0, 75));
          tfSp1.setBackground(Color.white);
          this.getContentPane().add (tfSp1);
          //Runden-Anzeige
          tfRnd = new JTextField (40);
          tfRnd.setText ("");
          tfRnd.setBounds (400, 100, 50, 100);
          tfRnd.setFont(new Font("Dialog", 0, 75));
          tfRnd.setBackground(Color.white);
          this.getContentPane().add (tfRnd);
          //SPieler2-Anzeige
          tfSp2 = new JTextField (40);
          tfSp2.setText ("");
          tfSp2.setBounds (500, 100, 300, 100);
          tfSp2.setFont(new Font("Dialog", 0, 75));
          tfSp2.setBackground(Color.white);
          this.getContentPane().add (tfSp2);
          //Text-Anzeige
          tfTxt = new JTextField (40);
          tfTxt.setText ("Drücke Neues Spiel um zu starten");
          tfTxt.setBounds (200, 450, 450, 100);
          tfTxt.setFont(new Font("Dialog", 0, 25));
          tfTxt.setBackground(Color.white);
          this.getContentPane().add (tfTxt);
          //Augen-Anzeige1

          JLabel lbAugen1 = new JLabel(new ImageIcon("wuerfel5.jpg"));
          lbAugen1.setBounds (199, 250, 150, 150);
          this.getContentPane().add (lbAugen1);
          //Augen-Anzeige2
          JLabel lbAugen2 = new JLabel(new ImageIcon("wuerfel2.jpg"));
          lbAugen2.setBounds (350, 250, 150, 150);
          this.getContentPane().add (lbAugen2);
          //Augen-Anzeige3
          JLabel lbAugen3 = new JLabel(new ImageIcon("wuerfel6.jpg"));
          lbAugen3.setBounds (501, 250, 150, 150);
          this.getContentPane().add (lbAugen3);

          this.setVisible(true);

     }

     public void actionPerformed(ActionEvent event)
     {    
          String cmd = event.getActionCommand();
          if (cmd.equals("Würfeln"))
          {
               int ergSp1 = 0;
               int ergSp2 = 0;
               if(rnd != 0)
               {
                   spieler1.schuettelDenBecher();
                   spieler2.schuettelDenBecher();
                   ergSp1 = spieler1.getErgebnis();
                   ergSp2 = spieler2.getErgebnis();
                   gesSp1 = gesSp1 + ergSp1;
                   gesSp2 = gesSp2 + ergSp2;
                   tfSp1.setText(""+gesSp1);
                   tfSp2.setText(""+gesSp2);
                   tfRnd.setText(""+rnd);
               }
               else
               {
                  gesSp1 = 0;
                  gesSp2 = 0;
                  btWuerfeln.setText("NeuesSpiel");
               }
               if (rnd == 5 )
               {

               }

               if(rnd < 5)
               rnd++;
          }
          else if (cmd.equals("Neues Spiel"))
          {

              btWuerfeln.setText("Würfeln");
              rnd++;
              tfRnd.setText(""+rnd);
          }

          else if (cmd.equals("End"))
          {
             setVisible(false);
             dispose();
             System.exit(0);
          }
     }
}
Danke schonmal
 
Zuletzt bearbeitet von einem Moderator:

eRaaaa

Top Contributor
Zeile 25
[java=25]
JButton btWuerfeln = new JButton("Neues Spiel");
[/code]
-->
Java:
btWuerfeln = new JButton("Neues Spiel");

und bitte die
Java:
-Tags nutzen für Code, nicht die Duke-Tags!
 

Michael...

Top Contributor
Man könnte ja mal mit etwas kleinem anfangen??

Es gibt zwei Variablen btWuerfeln eine davon ist eine Instanzvariable die nicht initialisiert wird. Eigentlich müsstest Du beim Drücken des Buttens eine NullPointerException bekommen.
 

knieger

Mitglied
Danke für die Tipps ok ich machs das nächstemal in nen JavaTag.
@eRaaaa nach deiner Änderung erhöht sich rnd zwar wieder um 1 aber der Text ändert sich leider nicht.
@Michael es tut mir leid aber ich kann dir leider nicht folgen ;)
EDIT: muss ich das mit new JButton in den Konstruktor oder in den Actionlistener schreiben?
PS: ICh weiss ich hab keine Ahnung aber ich wills ja lernen! :D
 
Zuletzt bearbeitet:

petter

Neues Mitglied
Ich hatte mal das selbe Problem habe aber keine Lösung gefunden. Musste die Funktion seinlassen.
Villeicht kann dir hier einer helfen mach dir aber lieber über eine andere Möglichkeit Gedanken!
 

Michael...

Top Contributor
Du Deklarierst Deine Variablen "doppelt". Einmal in der Klasse als "globale" Variablen und einmal im Konstruktor als "lokale" Variablen. Variablen sind nur in dem Umfeld gültig, in dem Sie deklariert werden!
Die "globale" Variable
Code:
btWuerfeln
die in Zeile 10 deklariert wird, wird nicht initialisiert (Es wird Ihr kein Objekt zugewiesen. Im Konstruktor (Zeile 25) deklarierst Du eine zweite Variable, die "zufällig" (Programmierfehler) ebenfalls
Code:
btWuerfeln
heißt, aber überhaupt nichts mit der
Code:
btWuerfeln
aus Zeile 10 zu tun hat.

In der actionPerformed greifst Du mehrfach auf eine Variable
Code:
btWuerfeln
zu (die wie oben erwähnt nicht initialisiert ist und nichts mit der gleichnamigen Variablen aus Zeile 25 zu tun hat).

==> Lösche das
Code:
JButton
am Anfang der Zeilen 25 und 32 (bei den JTextFields machst Du es ja komischer Weise richtig) und lass Dir von Eurem Lehrer nochmal den Geltungsbereich von Variablen erklären.
 

knieger

Mitglied
Danke Michael ich habe das Problem jetzt verstanden :D und behoben.
Wir bekommen inner Schule halt immer nen Vordruck wo wir nur die Zahlen ändern sollen. -.- Sehr schlechte Lernmethode.
Ach ja wenn ich jetzt noch eine Frage zu dem selben Quelltext habe muss ich dann nen neues Thema aufmachen?

mfg knieger
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
J Jbutton blinkt Java Basics - Anfänger-Themen 5
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
E JButton und JTextField Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
P JButton -Arrays Java Basics - Anfänger-Themen 4
A JButton in anderer Klasse bearbeiten. Java Basics - Anfänger-Themen 2
L Erste Schritte JButton reagiert nicht Java Basics - Anfänger-Themen 5
S Bild über JButton legen Java Basics - Anfänger-Themen 3
V Einem JButton anweisungen geben Java Basics - Anfänger-Themen 4
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
F Interface JButton von anderer Klasse hinzufügen Java Basics - Anfänger-Themen 2
J JButton macht was er will Java Basics - Anfänger-Themen 3
D JButton soll Farbe von JTextfield ändern Java Basics - Anfänger-Themen 5
H JButton - Wechsel der Textfarbe alle 500ms Java Basics - Anfänger-Themen 10
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
N JButton anpassen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A weiter JButton Fehler Java Basics - Anfänger-Themen 3
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
V wie kann ich eine Schleife pausieren, bis ein Jbutton gedrückt wird ? Java Basics - Anfänger-Themen 17
N Erste Schritte JButton reagiert nur einmal. Java Basics - Anfänger-Themen 12
S JButton Java Basics - Anfänger-Themen 2
A Farben wechseln mit JButton Java Basics - Anfänger-Themen 2
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
U JButton: Beschriftung ueber Variable zuweisen Java Basics - Anfänger-Themen 6
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S JDK installieren JButton BorderPoints?! Java Basics - Anfänger-Themen 7
E Problem mit erben von JButton Java Basics - Anfänger-Themen 7
J Bei Hinzufügen von JButton Programm langsam Java Basics - Anfänger-Themen 3
J Verknüpfung von JButton to JTextField Java Basics - Anfänger-Themen 4
S Jbutton per Passworteingabe aktivieren Java Basics - Anfänger-Themen 2
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
M Hintergrundbild für JButton Java Basics - Anfänger-Themen 6
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
M Input/Output JFrame mit JButton und JTextfield Java Basics - Anfänger-Themen 114
J Hilfe bei JButton Java Basics - Anfänger-Themen 6
A JButton[] und String[] in doppelter For-Schleife Java Basics - Anfänger-Themen 4
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
pg1337 JButton zuschneiden Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
D JButton Array setBackground Java Basics - Anfänger-Themen 2
F JButton wie selektierter JTabbebPane-Header Java Basics - Anfänger-Themen 7
G jButton bei Klick String +1 Java Basics - Anfänger-Themen 5
C OOP Java JButton mit Funktion belegen Java Basics - Anfänger-Themen 3
S JButton wird nicht angezeigt Java Basics - Anfänger-Themen 14
C JButton.getIcon() != null Java Basics - Anfänger-Themen 3
E JButton-Text wird in Schleife nicht geändert Java Basics - Anfänger-Themen 4
F welches Layout für JButton-Liste verwenden Java Basics - Anfänger-Themen 6
T JButton Text ändern Java Basics - Anfänger-Themen 4
L JButton erscheint nur mit pack() Java Basics - Anfänger-Themen 3
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
L Bild auf einem JButton Java Basics - Anfänger-Themen 4
M JButton und DisabledIcon Java Basics - Anfänger-Themen 2
K jButton zur Laufzeit hinzufügen Java Basics - Anfänger-Themen 22
A GUI - JButton problem! Java Basics - Anfänger-Themen 5
M JButton selbst nachprogrammieren Java Basics - Anfänger-Themen 3
A JButton Textrahmen Java Basics - Anfänger-Themen 7
A Platzierung eines JButton Java Basics - Anfänger-Themen 4
D JButton oder ImageIcon klickt "langsam" Java Basics - Anfänger-Themen 5
E JButton klassenübergreifend nutzen? Java Basics - Anfänger-Themen 6
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
P JButton identifizieren Java Basics - Anfänger-Themen 8
K Funktion zu einem JButton hinzufügen Java Basics - Anfänger-Themen 27
D HTML Text von jButton disablen Java Basics - Anfänger-Themen 2
E Auf JButton in Arraylist zugreifen Java Basics - Anfänger-Themen 6
E Andere Form eines JButton Java Basics - Anfänger-Themen 17
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
E Zeilenumbruch in JButton mit Variable Java Basics - Anfänger-Themen 2
A JButton erscheint nicht (BlueJ) Java Basics - Anfänger-Themen 2
M JButton sieht komisch aus :-) Java Basics - Anfänger-Themen 5
B JPanel über JButton umändern Java Basics - Anfänger-Themen 9
D JButton transparent bekommen? Java Basics - Anfänger-Themen 5
H JButton Unsichtbar Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2
J Variable die bei JButton Clicks mitzählt Java Basics - Anfänger-Themen 9
Developer_X JButton removt sich selbst Java Basics - Anfänger-Themen 32

Ähnliche Java Themen

Neue Themen


Oben