Volver невидимая ООН JPanel y hacer видимый otro

Tengo un problema al hacer видимая панель ООН luego de volver невидимая otro панель.

Ми Este es JFrame, el cual contiene un JPanel que su vez contiene estos 3 JButton Комо pueden apreciar:

captura de pantalla 1

Para que tengan una idea mas clara de lo que hago:

captura de pantalla 2

Este es el metodo que uso en cualquiera de los 3 botones para hacer desaparecer el de inicio y hacer aparecer cualquier otro.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    panelInicio.setVisible(false);  
    panelPrimalidad.setVisible(true);  
    panelSubconjuntos.setVisible(false);  
    panelKColoreable.setVisible(false);  
}  

El resultado en ejecución es el siguiente después de presionar cualquier de los botones:

captura de pantalla 3

Y la estructura de todos mis JPanel (diferentes al de Inicio) es esta:

captura de pantalla 4

0
задан 12.04.2017, 07:22
2 ответа

Я gustar¦, - чтобы видеть, как ты осуществил другие панели, так как я не приучен работать с визуальными программными средствами (Ã: rbol), но оптом dir¦, - по отношению к которому твои другие три панели не имеют отца, deber¦-эксперта добавлять их к JFrame и делать их невидимыми немедленно.

Немного as¦-...

jframePadre.add(panelKColoreable);
jframePadre.add(panelSubconjuntos);
jframePadre.add(panelPrimalidad);
panelKColoreable.setVisible(false);
panelSubconjuntos.setVisible(false);
panelPrimalidad.setVisible(false);

, Если у панелей нет frame отца не podrÃ: n показывать.

2
ответ дан 30.10.2019, 03:16

Â: Qué такой? ты можешь пробовать со следующим.

Верьте в твои панели, думайте твой Jframe. Внутри класса Jframe создай объект каждой из панелей:

ClaseObjetoPanel objetoCreado;
//dentro del constructor del frame coloca lo siguiente: 
public constructor(){
this.setLayout(new FlowLayout());
this.pack();
}

Сейчас в método события click или action bot¦n размести это:

public .....action(){
try{
    getContentPane().removeAll();
    objetoCreado = new ClaseObjetoPanel();
    this.add(objetoCreado,BorderLayout.CENTER);
    this.pack();
    maximizar();
}catch(Exception e){
   e.printStackTrace();
}
}

Давайте Думать método, что он максимизирует элемент.

public void maximizar(){
    this.setExtendedState(MAXIMIZED_BOTH);
}

типов Привета.

1
ответ дан 30.10.2019, 03:16