Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen

WasserEsser

Mitglied
Guten Abend,

zu Anfang würde ich gerne sagen, dass ich ein totaler Noob in jeglichen Programmiersprachen bin, die es so gibt. Ich habe mich in den letzten Tagen mehr und mehr mit Java auseinander gesetzt, und eine gewisse "Zuneigung" zu Java entwickelt. Allerdings habe ich mir kaum irgendwelche Tutorials angeschaut, die 60 Videos beinhalten. Lediglich die Grundlagen, die so ziemlich jede Programmiersprache mit sich bringt, und meist auch anwendet (Loops, Data Types, Variables etc).

In den letzten 2 Tagen habe ich dann angefangen, einen kleinen Countdown Timer zu erstellen. Wohlgemerkt ohne javax.swing.Timer zu benutzen. Ich wusste bis heute nicht einmal, dass es diese Funktion gibt. Aber nun gut, angefangen mit einer Variable für die Minuten, einer für die Sekunden, und einer für die Minuten*60+Sekunden. Eine for Loop, die das ganze dann auf der Konsole runter zählt. So weit so gut.

Nun bin ich bei der 2ten Version angekommen. Diese soll etwas hübscher werden und sogar ein Fenster mit einem Countdown, jener jede Sekunde runter zählt beinhalten. Nach einigem rumprobieren und 4 verschiedene Loop-Lösungsansätzen später bin ich bei diesem Code angekommen:

f6557a493b.png

Java:
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.SwingConstants;

import java.awt.Font;
import java.awt.Color;

import javax.swing.JButton;

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



public class CountDownTimer {

	private JFrame frmCountdownTimerBy;
	private static JLabel lblOutputtimesec;
	private static JLabel lblOutputtimemin;
	static 	int inputTimeMin;
	static	int inputTimeSec;
	static 	int outputTimeMin;
	static 	int outputTimeSec;


	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CountDownTimer window = new CountDownTimer();
					window.frmCountdownTimerBy.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	
	public static void inputTime(){
		
		 String timeMin = JOptionPane.showInputDialog("Bitte geben Sie die Minuten ein.");
		 Integer timeMins = Integer.parseInt(timeMin);
		 inputTimeMin = timeMins;
		 outputTimeMin = inputTimeMin;
		 if((inputTimeMin >= 0 && inputTimeMin <= 60)){
			 lblOutputtimemin.setText(Integer.toString(inputTimeMin));
		 }else{
			 JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
			 inputTime();
		 }		 
		 String timeSec = JOptionPane.showInputDialog("Bitte geben Sie die Sekunden ein.");
		 Integer timeSecs = Integer.parseInt(timeSec);
		 inputTimeSec = timeSecs;
		 outputTimeSec = inputTimeSec;
		 if(inputTimeSec >= 0 && inputTimeSec <= 60){
			 lblOutputtimesec.setText(Integer.toString(inputTimeSec));
		 }else{
			 JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
			 inputTime();
		 }
			 
		
	}
	
	public static boolean timeLeft(){
		
		while((outputTimeMin == 0 && outputTimeSec >= -1) || outputTimeMin > 0){			
			return true;
		}return false;
		
	}
	
	public static void sleep(){
	
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
	}
	
	public static void updateHUD(){
		
		lblOutputtimesec.setText(Integer.toString(outputTimeSec));
		lblOutputtimemin.setText(Integer.toString(outputTimeMin));
		
	}
	
	public static void startCountdown(){
			
		while(timeLeft()){
			
			sleep();
			updateHUD();
			
			//Kontrolle ob die Loop läuft
			System.out.println(outputTimeMin + ":" + outputTimeSec);
			
			if(outputTimeSec > 0){
								
				outputTimeSec--;
								
			}else if(outputTimeMin > 0){
				
				outputTimeMin--;
				outputTimeSec = outputTimeSec + 59;
				
			}else{
				
				JOptionPane.showMessageDialog(null, "Die Zeit ist abgelaufen.");
				break;
					
		}
	}
}
	
	

	
	/**
	 * Create the application.
	 */
	public CountDownTimer() {
		initialize();		
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frmCountdownTimerBy = new JFrame();
		frmCountdownTimerBy.setTitle("Countdown Timer");
		frmCountdownTimerBy.setResizable(false);
		frmCountdownTimerBy.setBounds(100, 100, 1000, 600);
		frmCountdownTimerBy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frmCountdownTimerBy.getContentPane().setLayout(null);
		
		JLabel lblCountdownTimerErstellt = new JLabel("\u00A9 2015 - Countdown Timer erstellt von Marcel Kirchhoff");
		lblCountdownTimerErstellt.setBounds(665, 534, 319, 37);
		frmCountdownTimerBy.getContentPane().add(lblCountdownTimerErstellt);
		
		JSeparator separator_1 = new JSeparator();
		separator_1.setBackground(Color.WHITE);
		separator_1.setForeground(Color.LIGHT_GRAY);
		separator_1.setBounds(0, 40, 1004, 2);
		frmCountdownTimerBy.getContentPane().add(separator_1);
		
		JLabel lblCountdownTimer = new JLabel("Countdown Timer");
		lblCountdownTimer.setFont(new Font("Gotham Light", Font.ITALIC, 30));
		lblCountdownTimer.setHorizontalAlignment(SwingConstants.CENTER);
		lblCountdownTimer.setBounds(10, 0, 974, 42);
		frmCountdownTimerBy.getContentPane().add(lblCountdownTimer);
		
		JSeparator separator = new JSeparator();
		separator.setBounds(983, 442, -287, 86);
		frmCountdownTimerBy.getContentPane().add(separator);
		
		JSeparator separator_2 = new JSeparator();
		separator_2.setBackground(Color.WHITE);
		separator_2.setForeground(Color.LIGHT_GRAY);
		separator_2.setBounds(0, 534, 994, 2);
		frmCountdownTimerBy.getContentPane().add(separator_2);
		
		JButton btnNewButton = new JButton("Zeit setzen");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				inputTime();
			}
		});
		btnNewButton.setBackground(Color.LIGHT_GRAY);
		btnNewButton.setBounds(286, 473, 200, 50);
		frmCountdownTimerBy.getContentPane().add(btnNewButton);
		
		JButton btnNewButton_1 = new JButton("Countdown starten");
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				startCountdown();
			}
		});
		btnNewButton_1.setBackground(Color.LIGHT_GRAY);
		btnNewButton_1.setBounds(496, 473, 200, 50);
		frmCountdownTimerBy.getContentPane().add(btnNewButton_1);
		
		JLabel lblMinuten = new JLabel("Minuten");
		lblMinuten.setFont(new Font("Gotham Light", Font.PLAIN, 30));
		lblMinuten.setHorizontalAlignment(SwingConstants.CENTER);
		lblMinuten.setBounds(286, 80, 200, 26);
		frmCountdownTimerBy.getContentPane().add(lblMinuten);
		
		JLabel lblSekunden = new JLabel("Sekunden");
		lblSekunden.setFont(new Font("Gotham Light", Font.PLAIN, 30));
		lblSekunden.setHorizontalAlignment(SwingConstants.CENTER);
		lblSekunden.setBounds(496, 80, 200, 26);
		frmCountdownTimerBy.getContentPane().add(lblSekunden);
		
		lblOutputtimemin = new JLabel("0");
		lblOutputtimemin.setFont(new Font("Gotham Light", Font.PLAIN, 100));
		lblOutputtimemin.setHorizontalAlignment(SwingConstants.CENTER);
		lblOutputtimemin.setBounds(286, 117, 200, 345);
		frmCountdownTimerBy.getContentPane().add(lblOutputtimemin);

		lblOutputtimesec = new JLabel("0");
		lblOutputtimesec.setFont(new Font("Gotham Light", Font.PLAIN, 100));
		lblOutputtimesec.setHorizontalAlignment(SwingConstants.CENTER);
		lblOutputtimesec.setBounds(496, 117, 200, 345);			
		frmCountdownTimerBy.getContentPane().add(lblOutputtimesec);
	}
}

Bitte bedenkt, dass ich ein kompletter Noob bin, und das obige vielleicht nicht die beste Lösung ist. Nun zu meinem Problem.

Ich habe eine Funktion, welche updateHUD(); heißt. Diese soll den Text von lblOutputtimemin und lblOutputtimesec mit Hilfe von .setText(Integer.toString(Variable)) neu setzen. Dies soll jede Sekunde geschehen, deshalb wird sie mit in der while loop aufgerufen. Das "HUD" wird allerdings nur am Anfang, wenn der Input kommt und am Ende der while loop geupdated.

Meine Frage:

Warum? Die Funktion sleep(); wird auf die selbe Weise aufgerufen und auch ausgeführt, warum funktioniert das nicht mit der updateHUD(); Funktion?

Meine Theorie:

Die Funktion updateHUD(); updated jede Sekunde, allerdings noch mit den alten Werten, bis die Loop zu Ende ist. Allerdings ändern sich die Werte eigentlich jede Sekunde, da die Kontrolle der Werte (Ausgabe der Loop auf der Konsole) ja auch funktioniert. Falls dies trotzdem der Fall ist, wie kann ich das ganze nun anpassen, sodass alles funktioniert?

Ich möchte nicht mit einem Timer arbeiten, sondern meine Weise benutzen, da ich diese zu 100% nachvollziehen kann, und dem Problem nicht einfach aus dem Weg gehe, indem ich eine andere Art benutze. Wie gesagt, ich möchte verstehen was ich mache, somit ist der Lerneffekt am höchsten. ;)

Bis jetzt funktioniert alles, bis auf die updateHUD(); Funktion.

Zusatz:

Ich habe eine Kontrolle mit eingebaut, ob der input Wert zwischen 0 und 60 liegt, falls dies nicht der Fall ist, soll der User den Input nochmal neu eingeben. Der User kann allerdings noch einen String eingeben, und somit eine Fehlermeldung hervorrufen, wie kann ich einen entsprechenden Check mit einbauen?


Gruß

Marcel
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Ja sieht ja schon ganz nett aus.

Ein paar Punkte:
- Warum verwendest du für manches static? Brauchst du nicht! -> Alle static weg!!!
- null-Layout is evil! Das heißt verwende LayoutManager
- Du blockierst mit deinem Thread.sleep() den EventDispatcherThread(EDT) und somit wird deine GUI nicht aktualisiert
- leftTime kann umbenannt werden in isTimeLeft (ist auch sprechender) und vor allem du kannst einfach:
Java:
return (outputTimeMin == 0 && outputTimeSec >= -1) || outputTimeMin > 0;
zurückliefern.
- deine startCoundown()-Methode gehört in einen eigenen Thread:
Java:
public void startCountdown() {
  new Thread(new Runnable() {
    @Override
    public void run() {
      while (timeLeft()) {
        sleep();
        updateHUD();
        //Kontrolle ob die Loop läuft
        System.out.println(outputTimeMin + ":" + outputTimeSec);
        if (outputTimeSec > 0) {
          outputTimeSec--;
        } else if (outputTimeMin > 0) {
          outputTimeMin--;
          outputTimeSec = outputTimeSec + 59;
        } else {
          JOptionPane.showMessageDialog(null, "Die Zeit ist abgelaufen.");
          break;
        }
      }
    }
  }).start();
}

Zu deiner Zusatzfrage:

Integer.parseInt wirft eine RuntimeException bei fehlerhaften Eingaben. Des Weiteren kannst du dir einige Variablen ersparen. Hier mal ein Code (natürlich ist hier nicht mal annähernd alles abgefragt, aber genau für deine Frage zugeschnitten):

Java:
public void inputTime() {
  do {
    String timeMin = JOptionPane.showInputDialog("Bitte geben Sie die Minuten ein.");
    try {
      outputTimeMin = Integer.parseInt(timeMin);
      if ((outputTimeMin >= 0 && outputTimeMin <= 60)) {
        lblOutputtimemin.setText(Integer.toString(outputTimeMin));
        break;
      } else {
        JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
      }
    } catch (NumberFormatException e) {
      JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
    }
  } while (true);
  do {
    String timeSec = JOptionPane.showInputDialog("Bitte geben Sie die Sekunden ein.");
    try {
      outputTimeSec = Integer.parseInt(timeSec);
      if (outputTimeSec >= 0 && outputTimeSec < 60) {
        lblOutputtimesec.setText(Integer.toString(outputTimeSec));
        break;
      } else {
        JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 59 ein!");
      }
    } catch (NumberFormatException e) {
      JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 59 ein!");
    }
  } while (true);
}
 

WasserEsser

Mitglied
Hallo Flown,

danke für deine schnelle Antwort. Wie bereits erwähnt bin ich ein totaler Noob in Java, deshalb habe ich noch ein paar Fragen:

- Warum verwendest du für manches static? Brauchst du nicht! -> Alle static weg!!!

Ich habe keine Ahnung was static bringt, Eclipse hat mir lediglich gesagt, dass ich keine static Reference zu einer non-static Variable machen kann, deshalb habe ich static benutzt.

- null-Layout is evil! Das heißt verwende LayoutManager

Was meinst du mit LayoutManager? Was ist der LayoutManager und wie benutze ich ihn? Warum ist null-Layout evil? Bisher hat alles geklappt wie ich es wollte (Du meinst doch die .showMessageDialog Punkte, oder?) :oops:

- Du blockierst mit deinem Thread.sleep() den EventDispatcherThread(EDT) und somit wird deine GUI nicht aktualisiert

Wowowow. Okay. Threads. Ich hab' keine Ahnung was das sein soll. Nach einem Video von thenewboston.com über Threads kann ich mir zumindest ein bisschen darunter vorstellen. (Multi-Tasking etc.)

Trotzdem verstehe ich nicht ganz, wie ich das umgehen kann, bzw was der EventDispatcherThread denn genau ist und wie ich den nebenbei noch zum laufen bekomme.


- deine startCoundown()-Methode gehört in einen eigenen Thread:
Java:
public void startCountdown() {
  new Thread(new Runnable() {
    @Override
    public void run() {
      while (timeLeft()) {
        sleep();
        updateHUD();
        //Kontrolle ob die Loop läuft
        System.out.println(outputTimeMin + ":" + outputTimeSec);
        if (outputTimeSec > 0) {
          outputTimeSec--;
        } else if (outputTimeMin > 0) {
          outputTimeMin--;
          outputTimeSec = outputTimeSec + 59;
        } else {
          JOptionPane.showMessageDialog(null, "Die Zeit ist abgelaufen.");
          break;
        }
      }
    }
  }).start();
}

Das ist jetzt ein eigener Thread, okay, verstanden. Muss ich nun, wenn ich startCountdown als Thread habe, einfach nur den Thread startCountdown mit Hilfe des Buttons starten? Dann ist doch immer noch das Problem mit dem EventDispatcherThread, oder? Da wurde ja nichts dran geändert, oder sehe ich das falsch?


Zu deiner Zusatzfrage:

Integer.parseInt wirft eine RuntimeException bei fehlerhaften Eingaben. Des Weiteren kannst du dir einige Variablen ersparen. Hier mal ein Code (natürlich ist hier nicht mal annähernd alles abgefragt, aber genau für deine Frage zugeschnitten):

Java:
public void inputTime() {
  do {
    String timeMin = JOptionPane.showInputDialog("Bitte geben Sie die Minuten ein.");
    try {
      outputTimeMin = Integer.parseInt(timeMin);
      if ((outputTimeMin >= 0 && outputTimeMin <= 60)) {
        lblOutputtimemin.setText(Integer.toString(outputTimeMin));
        break;
      } else {
        JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
      }
    } catch (NumberFormatException e) {
      JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 60 ein!");
    }
  } while (true);
  do {
    String timeSec = JOptionPane.showInputDialog("Bitte geben Sie die Sekunden ein.");
    try {
      outputTimeSec = Integer.parseInt(timeSec);
      if (outputTimeSec >= 0 && outputTimeSec < 60) {
        lblOutputtimesec.setText(Integer.toString(outputTimeSec));
        break;
      } else {
        JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 59 ein!");
      }
    } catch (NumberFormatException e) {
      JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl zwischen 0 und 59 ein!");
    }
  } while (true);
}

Wenn ich das richtig verstehe, muss ich dort dann einfach noch eine catch(Exeption) einbauen?

Vielen Dank schon mal für die schnelle Antwort.

Gruß

Marcel
 

Flown

Administrator
Mitarbeiter
Wieso schon GUI programmieren, wenn noch nicht mal die Grundlagen sitzen? Warum immer gleich laufen, wenn man noch nicht mal gehen kann?!

Ich kann dir nur ans Herz legen Google zu verwenden, denn alle deine Fragen sind schon zigmal beantwortet worden. Ich versuche dir trotzdem Antworten zu liefern.

Ich habe keine Ahnung was static bringt, Eclipse hat mir lediglich gesagt, dass ich keine static Reference zu einer non-static Variable machen kann, deshalb habe ich static benutzt.

Es gibt Klassen und Instanzen. Klassen sind die Schablonen und Instanzen sind konkrete Ausprägungen einer Klasse. Das heißt static gilt für alle Instanzen (man kann von einem Singleton sprechen). Ansonsten besitzt jede Instanz ihre eigenen Kontext, d.h. individuelle Variablenwerte, usw.

Was meinst du mit LayoutManager? Was ist der LayoutManager und wie benutze ich ihn? Warum ist null-Layout evil? Bisher hat alles geklappt wie ich es wollte (Du meinst doch die .showMessageDialog Punkte, oder?)

LayoutManager sind dazu da deine UI-Elemente in der richtigen Position zu halten und gegebenfalls auch die Größe anzupassen (wiederum zig Tutorials im Internet: Einfach drauf los googlen).

Wowowow. Okay. Threads. Ich hab' keine Ahnung was das sein soll. Nach einem Video von thenewboston.com über Threads kann ich mir zumindest ein bisschen darunter vorstellen. (Multi-Tasking etc.)

Trotzdem verstehe ich nicht ganz, wie ich das umgehen kann, bzw was der EventDispatcherThread denn genau ist und wie ich den nebenbei noch zum laufen bekomme.

Ja Threads sind zum Multithreading da. Der EDT (EventDispatcherThread) wird von Swing/AWT (Java UI Frameworks) verwendet, deine Gui zu zeichnen. Wenn dieser Thread blockiert wird, wird ergo nichts mehr aktualisiert, usw.

Du bekommst den nebenbei zu laufen, wenn du eigene Threads startest!

Das ist jetzt ein eigener Thread, okay, verstanden. Muss ich nun, wenn ich startCountdown als Thread habe, einfach nur den Thread startCountdown mit Hilfe des Buttons starten? Dann ist doch immer noch das Problem mit dem EventDispatcherThread, oder? Da wurde ja nichts dran geändert, oder sehe ich das falsch?

Grundsätzlich startest du den Thread mit dem Button. Dann hast du keine Probleme mehr mit dem EDT.

Wenn ich das richtig verstehe, muss ich dort dann einfach noch eine catch(Exeption) einbauen?

Ja.


Ich hoffe deine Fragen sind beantwortet. Jeden Code den ich gepostet habe, ist lauffähig, das heißt du kannst ihn rauskopieren und deinen Code überschreiben! Deshalb habe ich ihn auch gepostet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
C Swing Übergabe von String an JLabel AWT, Swing, JavaFX & SWT 9
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
D JLabel übereinanderlegen AWT, Swing, JavaFX & SWT 5
E JLabel kopieren AWT, Swing, JavaFX & SWT 31
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
J Swing JLabel Verknüpfung aktualisieren AWT, Swing, JavaFX & SWT 3
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
E JLabel AWT, Swing, JavaFX & SWT 1
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
I JLabel neue Zeile AWT, Swing, JavaFX & SWT 4
L JLabel ist verzerrt/größer als eingestellt AWT, Swing, JavaFX & SWT 15
B Observer Pattern JLabel ändern AWT, Swing, JavaFX & SWT 7
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L Kalendar als JLabel einfügen AWT, Swing, JavaFX & SWT 3
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
4 Swing JLabel wird ,,abgehackt" AWT, Swing, JavaFX & SWT 3
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
DaCrazyJavaExpert Swing JLabel Klickanimation AWT, Swing, JavaFX & SWT 4
A Swing JLabel als Parameter übergeben AWT, Swing, JavaFX & SWT 9
M JLabel ausrichten AWT, Swing, JavaFX & SWT 2
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
T JLabel Textinhalt von Oben anzeigen AWT, Swing, JavaFX & SWT 1
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
Thallius Swing "..." beim JLabel verhindern? AWT, Swing, JavaFX & SWT 3
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2
T Event Handling JLabel als eigener Button AWT, Swing, JavaFX & SWT 7
T JLabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
F Abgeleitetes JLabel AWT, Swing, JavaFX & SWT 16
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
S jLabel HTML Formatierung AWT, Swing, JavaFX & SWT 2
J Statisches JLabel adden AWT, Swing, JavaFX & SWT 4
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
T JLabel in die Mitte(JLabel.CENTER geht nicht) AWT, Swing, JavaFX & SWT 12
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
K Swing unterschied JTextField und JLabel AWT, Swing, JavaFX & SWT 7
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
E JLabel aus Runnable ändern AWT, Swing, JavaFX & SWT 2
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
D JLabel bei Aufruf neue Zeile AWT, Swing, JavaFX & SWT 5
F ListCellRenderer mit JLabel und MouseListener AWT, Swing, JavaFX & SWT 4
F Swing JLabel wird nicht sofort Angezeigt AWT, Swing, JavaFX & SWT 3
D Timer für Bildfolge in einem jLabel AWT, Swing, JavaFX & SWT 5
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
GreyFox JLabel in laufender Anwendung erzeugen AWT, Swing, JavaFX & SWT 6
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
Z Auf ein JLabel drauf malen? AWT, Swing, JavaFX & SWT 1
S JLabel in den Vordergrund rücken AWT, Swing, JavaFX & SWT 1
A JLabel hochzählen lassen. AWT, Swing, JavaFX & SWT 6
S JLabel mit ImageIcon, komischer Rahmen? AWT, Swing, JavaFX & SWT 2
I Swing JLabel Bild für 1sec anzeigen lassen AWT, Swing, JavaFX & SWT 13
S JLabel anordnen AWT, Swing, JavaFX & SWT 2
J ungewollt-automatische Größenänderung von JLabel AWT, Swing, JavaFX & SWT 5
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
B Swing JLabel und LayoutManager AWT, Swing, JavaFX & SWT 20
M Bild aus JLabel resizen und speichern AWT, Swing, JavaFX & SWT 0
A Swing JLabel/JTextField Inhalt mit JSlider verändern AWT, Swing, JavaFX & SWT 12
O Statusleiste mit JLabel aktualisieren AWT, Swing, JavaFX & SWT 5
G jLabel aus anderem Fenster ändern AWT, Swing, JavaFX & SWT 7
T JLabel Nullpunkt verschieben AWT, Swing, JavaFX & SWT 6
F Swing JPanel mit JLabel spinnt? AWT, Swing, JavaFX & SWT 2
M Massenweise JLabel ? oder ? AWT, Swing, JavaFX & SWT 3
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
N JLabel HTML mit custom Font AWT, Swing, JavaFX & SWT 0
V JLabel bzw. GUI aus externen Thread ansteuern AWT, Swing, JavaFX & SWT 3
G JLabel verdeckt AWT, Swing, JavaFX & SWT 12
A JLabel zeichendicke einstellen AWT, Swing, JavaFX & SWT 3
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
S JLabel zeigt ImageIcon nicht AWT, Swing, JavaFX & SWT 13
S jLabel / jText beim starten ausblenden AWT, Swing, JavaFX & SWT 2
A Array von JLabel mit Grafiken anzeigen AWT, Swing, JavaFX & SWT 3
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
T Kreis in Jlabel darstellen. AWT, Swing, JavaFX & SWT 13
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
V JLabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
B Buttons auf JLabel? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben