Я только что сделал программу обратного отсчета, вот класс: < /p>
package me.NoahCagle.JAVA;
import javax.swing.JFrame;
public class Main extends JFrame implements Runnable {
private static final long serialVersionUID = 1L;
public static int width = 600;
public static int height = 500;
public static String title = "Countdown!";
public static boolean running = false;
public int number = 11;
public Thread thread;
Dimension size = new Dimension(width, height);
public Main() {
super(title);
setSize(size);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
Main m = new Main();
m.start();
}
public void start() {
if (running) {
return;
}
running = true;
Thread thread = new Thread(this);
thread.start();
}
@SuppressWarnings("static-access")
public void run() {
while (running) {
number--;
if (number == -1) {
System.out.println("Done!");
System.exit(0);
}
try {
thread.sleep(1000);
}catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
System.out.println("" + number);
}
}
public void stop() {
if (!running) {
return;
}
running = false;
try {
thread.join();
}catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
}
}
< /code>
, что, возможно, не было необходимым, но что угодно. Ну, как я уже говорил, если вы прочитаете код, вы заметите, что он печатает значение для консоли. Ну, если бы я мог получить это, чтобы отобразить на Jlabel, обновляя одновременно. Я попытался просто сделать SetText (" + номер), думая, что, поскольку у меня есть поток, он будет перекрашен. Но этого не произошло. Это было просто застряло в 11. Может ли кто -нибудь, пожалуйста, помогите мне? Спасибо
Подробнее здесь: https://stackoverflow.com/questions/178 ... ing-jlabel