我正在做一个程序,我需要一个JFrame根据主JFrame中的一个选择来更改其组件,我试图这样做:
public void agregarPanelSegunPrueba(FrmBoleto frm)
{
//this panel is a JPanel make with the graphical editor in netbeans
PnlPruebaDCExesoVelocidad pnl = new PnlPruebaDCExesoVelocidad();
pnl.repaint();
pnl.revalidate();
frm.getContentPane().remove(frm.getPnlPruebasDistanciaTiempo());
frm.getContentPane().add(pnl);
frm.pack();
frm.setVisible(true);
}
有人知道这是错的。提前致谢。
最佳答案
您需要添加的revalidate();repaint();
而不是JPanel
,而只是添加面板的容器。
您需要致电:
frm.getContentPane().revalidate();
frm.getContentPane().repaint();
代替 :
pnl.repaint();
pnl.revalidate();
在该行之后:
frm.getContentPane().add(pnl);