さて、次のようなコードがあります。
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
。これは解決策ではありません。