У меня есть простой JDialog
с индикатором прогресса, и я хочу, чтобы иметь JLabel
, который идет как:Создание JDialog уже continuoulsly изменения текста Как «работает ...»
трудящегося. -> Рабочие .. -> Работы ...
примерно каждые .25 секунд.
Могу ли я просто запустить непрерывный цикл, повторно устанавливая текст JLabel
?
Я знаю, что это должно быть простое решение, но я не могу найти его нигде!
Per @ Давид ответ ниже. Вот основная часть моего WorkingDialog (который расширяет JDialog) конструктор:
final JLabel lblWorking = new JLabel("Working.");
contentPanel.add(lblWorking, gbc_lblWorking);
SwingWorker<Void, Void> sw = new SwingWorker<Void, Void>()
{
@Override
protected Void doInBackground() throws Exception
{
while (!isCancelled())
{
if (!lblWorking.getText().equals("Working..."))
{
lblWorking.setText("Working.");
} else
{
lblWorking.setText(lblWorking.getText() + ".");
}
}
return null;
}
};
setVisible(true);
sw.run();
И когда я называю новый WorkingDialog() кадр приходит, но тот об этом. Кто-нибудь знает, почему?
Спасибо,
Rich
Я читал много о SwingWorker. Как именно я использовал SwingWorker для решения этой проблемы? –
Я также обновил свой вопрос –
Я понял. Я закончил использование SwingWorker. Спасибо за рекомендацию. –