que mi nueva manera de manejar este problema:
public static void showForms(JFrame frame,JPanel[] jPanels){
for (JPanel jPanel : jPanels) {
showForms(frame, jPanel,false);
}
int extendedState = frame.getExtendedState();
if (extendedState==JFrame.MAXIMIZED_BOTH) {
return;
}
frame.pack();
}
public static void showForms(JFrame frame, JPanel jPanel, boolean doPack) {
jPanel.setVisible(true);
if (doPack) {
int extendedState = frame.getExtendedState();
if (extendedState==JFrame.MAXIMIZED_BOTH) {
return;
}
frame.pack();
}
}
public static void hideForms(JFrame frame, JPanel[] jPanel) {
for (JPanel panel : jPanel) {
hideForms(frame, panel, false);
}
int extendedState = frame.getExtendedState();
if (extendedState==JFrame.MAXIMIZED_BOTH) {
return;
}
frame.pack();
}
public static void hideForms(JFrame frame, JPanel jPanel, boolean doPack) {
jPanel.setVisible(false);
if (doPack) {
int extendedState = frame.getExtendedState();
if (extendedState==JFrame.MAXIMIZED_BOTH) {
return;
}
frame.pack();
}
}
I m utilizando estos métodos para ocultar y mostrar JPanels en mi JFrame.
muestra en un código del botón
JFrameTools.showForms(this,searchPanel,false);
JFrameTools.showForms(this,insertingPanel,true);
JFrameTools.showForms(this,new jPanel[]{insertingPanel,searchPanel,printingPanel});
el mismo para la ocultación.
Redimensionar el marco después de ejecutar el paquete(), ¡solo una idea! Por tamaño, quiero decir, programáticamente – doNotCheckMyBlog