1

進行状況バーの下など、すでにいくつかのコンポーネントを含む紫色のペインの下に、実行時に JLabel を追加したいと思います。 ここに画像の説明を入力

要素の構造は次のとおりです。

ここに画像の説明を入力

そして、これはイベントが発生したときに発行される私のコードです(デバッグでチェックしました):

    jPanel1.add(new JLabel("Stack Overflow"));
    jPanel1.revalidate();
    jPanel3.revalidate();

まったく変化が見られず、ここからどこへ行くべきか見当もつきません。紫色のペインにテキストエリアを配置し、同じ場所で setText() メソッドを呼び出すと、動作する JLabel コンポーネントを追加しようとします。

4

2 に答える 2

3

レイアウトとその仕組みについてもっと学ぶ必要があります。ここではレイアウトを理解することが解決策であり、BorderLayout を使用するだけでは解決できないため、レイアウト マネージャーのチュートリアル全体を読むことを強くお勧めします。全体的な GUI におそらく BorderLayout を使用し、中央の JPanel で BoxLayout を使用して、その内部でコンポーネントを相互に積み重ねることができるように、レイアウトをネストしたいと思うでしょう。次に、この JPanel を、BorderLayout.CENTER の位置で BorderLayout を使用するメインの JPanel に追加します。

于 2012-06-28T00:01:13.523 に答える
0

ただの勘ですが、おそらく revalidate() に加えて repaint() を呼び出す必要があります

Java Swing revalidate() と repaint()

于 2012-06-27T23:40:05.713 に答える