私はパネルを持っており、ユーザーの入力に応じてx個のjlabelsが表示されます。今問題は、ユーザーが情報を入力したときに、ラベルが正しく挿入されてもパネルに正しく表示されないことです。彼らは表示されません。JLabelsは表示されません
フレームのサイズを変更すると表示されますか?
私はパネルを持っており、ユーザーの入力に応じてx個のjlabelsが表示されます。今問題は、ユーザーが情報を入力したときに、ラベルが正しく挿入されてもパネルに正しく表示されないことです。彼らは表示されません。JLabelsは表示されません
フレームのサイズを変更すると表示されますか?
私はSwingプログラミングをして以来、私はあなたがコンポーネントを追加した後にあなたがコンテナに仮定している方法を覚えようとしています。私はそれがrevalidate()
だと思う。
JPanel yourPanel = new JPanel();
yourPanel.repaint();
yourPanel.validate();
は通常、あなたが呼び出す必要があります。子コンポーネントが追加/削除されると、コンポーネント上で自動的にinvalidate
が呼び出されます。
validate
はコンテナが有効であることをチェックし、そうでなければdoLayoutまたはinvalidateTreeを呼び出して子コンポーネントの位置とサイズを計算します。 validate
は、必要に応じてレイアウトを効果的に再実行し、コンテナ内のすべてのコンポーネントの新しいサイズと位置を決定します。
コンテナにコンポーネントを追加/削除した後、LayoutManagerがレイアウトをやり直すためには、validate
を親に対して呼び出す必要があります。 validate
を呼び出すと再ペイントがスケジュールされないため、validate
の後にrepaint
に電話する必要があります。
invalidate
は、コンポーネントまたはその子の1つのサイズが変更されたため、すぐにrelaidまたは可視または不可視になるする必要があるものとしてコンポーネントをマーク:
ヘルプソナーのために[SSCCE](http://sscce.org/)で質問を編集してください。そうしないと、everrythingは暗闇の中でのショットになります – mKorbel