GUIでJPanelをデフォルト値で再ペイントする際に問題が発生します。Panel.repaint()がパネルをリフレッシュしていないようです
私が今使っているコードは再び、以下の通りです、私はに慣れ、またJavaコードについては本当に知識が豊富なので、新人の間違いを作るための私を許していないよ:
private void btnResetActionPerformed(java.awt.event.ActionEvent evt) {
...
pnlWagens1 = new pnlWagens();
UpdateGUI();
}
private void UpdateGUI(){
pnlWagens1.repaint();
}
これまでのところ、私は」上記のコードを試しただけでなく、JPanelをnullに設定して再描画し、パネルの新しいインスタンスを挿入して、再度ペイントしました。 これまで何も実りありませんでしたが、結局のところ、私はGUI上に表示されている古いパネル(とその値)にまだまだ悩まされています。
基本的には、最初に緑色の背景を持つパネルを作成し、背景を赤くして、パネルを緑色の背景に戻します。しかし、結局、Resetを押すと、まだ赤い背景の古いパネルが表示されます。
私が間違っている/見落としている可能性のあることに関する洞察は非常に高く評価されます。その後、pnlWagens1
がローカルクラスでを参照するオブジェクトどのように変化すると、さらに他の参照は変更されません、これは、関連するすべてのコードである(とUpdateGUI
はあなたがそこに持っているパネルを参照してadd
またはremove
を使用しないこと)と仮定すると、
より良いヘルプを作成するには、[最小限の完全で検証可能なサンプルプログラム](http://stackoverflow.com/help/mcve)の作成と投稿を検討してください。私たちはあなたのプログラム全体を見たいとは思っていませんが、あなたのコードをコンパイルしてコンパイルし、あなたの問題とは関係ない余分なコードがなくてもあなたの問題を実証しています。バグを分離して公開しようとするだけで、問題を非常にうまく解決できます。 –
簡潔にするために上記を翻訳するには:上記のコードではコードが表示されていないことを示唆していません。まず、エラーを特定する必要があります。したがって、[mcve]が必要です。 –
唯一の可能性のある問題は、新しいpnlWagensオブジェクトを作成しているため、正しいものを更新していない可能性があります。 –