Я пытаюсь сделать несколько JRadioButtons
мигать одновременно с этим методом мигания:Java: Запуск нескольких в то время как петли в то же время
private void blink(JRadioButton button, boolean blinking)
{
if(blinking)
{
while(true)
{
try
{
button.setSelected(true);
Thread.sleep(500);
button.setSelected(false);
Thread.sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
else
{
button.setSelected(false);
}
}
Я знаю, что есть что-то делать с потоками, но я» не знакомы с ними.
Возможно, что опубликованный код работает в другом потоке (а не в EDT). Но это, конечно, по-прежнему не так, поскольку вы не должны вызывать методы Swing из другого потока. – davmac
@ davmac Точно. И если код должен был быть исправлен с помощью 'invokeLater', тогда он превратился бы в уродливый беспорядок и использовал бы лишний поток для хорошей цели. –