Hallo,
ich sitze gerade an einer Übungsaufgabe und schaffe es einfach nicht ein Label zu "aktualisieren".
Ich habe eine Instanzvariable angelegt
private int zahl;
im GUI .. "Wuerfel" ... wird beim Start des Programms auch der Wert der Instanzvariable übernommen.
Des Weiteren funktioniert auch die Aktualisierung der Instanzvariable zahl durch das Action Event(siehe System.out - Überprüft! ). Jedoch fehlt mir anscheinend etwas um die GUI zu aktualisieren. Aber ich weiß einfach nicht was ?!
ich sitze gerade an einer Übungsaufgabe und schaffe es einfach nicht ein Label zu "aktualisieren".
Java:
// Wuerfel.java
import java.awt.*;
import javax.swing.*; //JFrame, JPanel, JLabel
import java.awt.event.*; // Listener
/**
* Erzeugen eines Fensters mit Text und Button.
*/
public class Wuerfel
extends JFrame
implements ActionListener
{
/* ------------------------------------------------- */
// View
/**
* Konstante, Aendern der Würfelzahl.
*/
static public String ACTION_WURF = "Wurf";
/**
* Konstante, Beenden des Programms.
*/
static public String ACTION_QUIT = "Beenden";
/**
* Instanzvariable, Augenzahl des Würfels.
*/
private int zahl;
/**
* Content Pane, Darstellungsbereich des Fensters.
*/
private JPanel contentPane;
/**
* Konstruktor, baut das Fenster auf.
* @param titel Titelleistentext
* @param farbe Fensterhintergrundsfarbe
*/
public Wuerfel( String titel)
{
// Titelleiste
super( titel);
// Darstellungsbereich
contentPane = new JPanel();
// Button Set mit Listener
JButton btWurf = new JButton( ACTION_WURF);
contentPane.add( btWurf);
btWurf.addActionListener( this);
// Label Hallo
zahl = this.zahl;
JLabel lbWurf = new JLabel();
lbWurf.setText( "" + zahl );
contentPane.add( lbWurf);
// Button Quit mit Listener
JButton btQuit = new JButton( ACTION_QUIT);
contentPane.add( btQuit);
btQuit.addActionListener( this);
// Fenster
// Fensterinhalt uebernehmen
setContentPane( contentPane);
pack(); // Anpassen der Fenstergroesse
// Beenden durch x-Button
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
setVisible( true); // Sichtbarmachen
}
/* ------------------------------------------------- */
// Controller
/**
* Ereignisverarbeitung, ActionListener,
* Betaetigen eines Button.
*/
public void actionPerformed( ActionEvent ae)
{
String command = ae.getActionCommand();
// Würfeln durch Button Wurf
if( command.equals( ACTION_WURF))
{
zahl = (int)(Math.random()*6)+1;
this.zahl = zahl;
System.out.println(zahl);
System.out.println(this.zahl);
}
// Programmabbruch durch Button Quit
if( command.equals( ACTION_QUIT))
{
System.exit( 0);
}
}
/* ------------------------------------------------- */
/**
* Aufruf des Programms.
*/
public static void main(String args[])
{
Wuerfel wuerfeln =
new Wuerfel( "Würfel");
}
}
Ich habe eine Instanzvariable angelegt
private int zahl;
im GUI .. "Wuerfel" ... wird beim Start des Programms auch der Wert der Instanzvariable übernommen.
Des Weiteren funktioniert auch die Aktualisierung der Instanzvariable zahl durch das Action Event(siehe System.out - Überprüft! ). Jedoch fehlt mir anscheinend etwas um die GUI zu aktualisieren. Aber ich weiß einfach nicht was ?!
Zuletzt bearbeitet: