Проблема, с которой я сталкиваюсь с этой программой, заключается в том, что сначала я хочу, чтобы на ярлыке отображалась системная дата, подождите 5 секунд, а затем показывается «привет», однако запуская код, на этикетке отображается только «привет». Пожалуйста, помогите мне найти мою ошибку.Ярлык не показывает предыдущий текст, показывая только обновленный текст
import java.util.*;
import javax.swing.*;
class DigClock
{
public static void main(String a[])
{
try
{
JFrame f= new JFrame();
JPanel p=new JPanel();
JLabel l=new JLabel((new Date()).toString());
p.add(l);
f.add(p);
Thread.sleep(5000);
l.setText("hi");
f.setVisible(true);
f.setExtendedState(JFrame.MAXIMIZED_BOTH);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
catch(Exception e)
{}
}
}
Может быть, потому, что ваш поток спит 5с до вашего кадра устанавливается видимым? Вы можете попробовать перевести строку Thread.sleep с помощью строки f.setvisible. Не могу попробовать это прямо сейчас, потому что я далеко от своего ПК :) – theman