1

のを削除する必要がありますComponentが、何度か試してもうまくいきません。CenterJPanel

ここで方法を試しました:

BorderLayout を使用して JPanel から CENTER 要素を削除する

しかし、答えの方法はコンパイル時エラーを生成します:

Type mismatch: cannot convert from LayoutManager to BorderLayout

答えを間違って解釈していますか?

さらに、GroupLayout から 1 つのコンポーネントだけを更新できるかどうかにも興味があります。誰かがそれを行う方法を教えてもらえますか?

編集: @mre: コードは次のとおりです。

BorderLayout layout = panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));

これは基本的にリンクと同じです。

皆さん、ありがとうございました!

4

1 に答える 1

5

レイアウト マネージャーを BorderLayout にダウンキャストする必要があります。

BorderLayout layout = (BorderLayout) panel.getLayout();

ただし、中心にあるコンポーネントがわかっている場合は、それを削除できます。

panel.add(myComponent, BorderLayout.CENTER);
...
panel.remove(myComponent);
于 2011-06-10T14:17:08.727 に答える