Хорошо, у меня есть код, который выглядит следующим образом:«GUI в то время как петля»
public class Test
{
private JPanel dummy;
public checker()
{
dummy = new JPanel();
dummy.setVisible(false);
dummy.addComponentListener(new ComponentAdapter()
{
@Override
public void componentShown(ComponentEvent arg0)
{
dummy.setVisible(false);
runCheck();
}
});
runCheck();
}
private void runCheck()
{
if (a)
{
//do something
dummy.setVisible(true);
}
}
}
Это позволит создать фиктивные JPanel и добавить компонент адаптера, который будет срабатывать каждый раз, когда манекен установлен, чтобы быть видимыми. Он работает как цикл while, только он гарантирует, что GUI обновляется до того, как он перейдет в другой цикл.
Но мне нужен метод checker()
, чтобы вернуть значение, когда цикл нарушен.
ПРИМЕЧАНИЕ: Это симплексная версия кода, я не могу проверить условие a
, это не решение.
Я не думаю, что это хорошая картина. Почему бы вам просто не выполнить свою петлю в фоновом потоке? –
Сделайте 'a' static и создайте для него слушателя. Когда 'a' является ложным, слушатель запускает' checker' – bas
. Я собираюсь удвоить то, что сказал @Heuster, - это, на первый взгляд, не является разумным шаблоном. Если бы вы могли, по крайней мере, дать немного лучшее описание того, что вы пытаетесь достичь, образец решения, вероятно, может быть предоставлен. – lscoughlin