質問

3 つのパネルを含む Java Swing アプリケーションがあります。 JComboBoxe正しく描画されないもの。
コンボックス ボックスは右側に下矢印として表示されるだけですが、現在選択されている値のラベルは表示されません。
ウィンドウのサイズが 1 ピクセルでも大きくまたは小さく変更された場合、ボックスは正しく再描画されます。

私のグーグル検索はすべて電話をかけることを示していました revalidate()JPanel これを修正したいのですが、私にはうまくいきませんでした。
電話をかける updateUI()JPanel 常に誤って表示される状態から、半分の時間で誤って表示されるように変更されました。

他にこれを見て、コンボ ボックスを強制的に再描画する別の方法を見つけた人はいますか?

役に立ちましたか?

解決

JPanel にコンボ ボックスを追加する方法についてもう少し詳しく教えていただけますか?これは Swing では非常に一般的なことなので、JVM の問題であるとは思えませんが、何でも可能だと思います。

具体的には、バックグラウンド スレッドから GUI にアクセスしていないことを再確認します。この場合、DB か何かから選択肢を読み取り、バックグラウンド スレッドから JComboBox を更新している可能性がありますが、これは Swing では絶対にやってはいけないことです。SwingUtils.invokeLater() を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top