1

JPanel はすでに JFrame に追加されています。JPanel を動的に追加しました。その場でJPanelを追加した後、以前に追加されたJPanelの近くにとどまります。以前の JPanel を削除するにはどうすればよいですか?

PS 私も cardlayout を使うことを考えています - それは良い方法ですか?

4

1 に答える 1

1

getComponents()子コンポーネントを提供するメソッドがありますJFrame

次のように使用します。

Component[] comp = frame.getContentPane().getComponents();
for(int i=0; i<comp.lenght; i++)
{
    if(comp[i] instanceof JPanel)
    {
        frame.remove(comp[i]);
    }
}

注:この修正は、一度に 1 つJPanelの内部がある場合にのみ機能します。それ以外の場合は、すべてのfromJFrameを削除します。JPanelsJFrame

于 2011-12-24T08:31:22.740 に答える