JPanel はすでに JFrame に追加されています。JPanel を動的に追加しました。その場でJPanelを追加した後、以前に追加されたJPanelの近くにとどまります。以前の JPanel を削除するにはどうすればよいですか?
PS 私も cardlayout を使うことを考えています - それは良い方法ですか?
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
を削除します。JPanels
JFrame