28/04/2010, 11:57
|
| | Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 7 meses Puntos: 0 | |
Respuesta: Problemas al cambiar de panel en JSplitPane Buenas de nuevo!!
Os escribo ya que dándole vueltas al tema al final he encontrado la solución. Simplemente hacia falta poner un if que separase el panel principal inicial de los siguientes que se cambiase. Una tontería que no se porque no se me ocurrió en el momento.
De todas formas gracias a todos los que se hayan interesado.
Aquí dejo como sería el código por si a alguno le interesa:
//Clase donde organizamos q paneles debemos instalar(para el Panel Principal)
public void ConstruccionPaneles() {
//Vemos si es el panel inicial.
if(!cambioPanel) {
//Ponemos a true la variable que nos indica que ya se puede hacer un cambio de paneles
cambioPanel = true;
//Panel Izquierdo inicial
panelIz = PanelMstElectron();
//Panel Derecho inicial
panelDe = PanelIndice();
//Scroll para el panel izq
ScrollIz = new JScrollPane(panelIz);
ScrollIz.setViewportView(panelIz);
pPrincipal.add(ScrollIz);
//Scroll para el panel derecho
ScrollDe = new JScrollPane(panelDe);
ScrollDe.setViewportView(panelDe);
pPrincipal.add(ScrollDe);
//Añadimos un JSpitPanel entre el panel de la izq. y el de la der.
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setLeftComponent(ScrollIz);
splitPane.setRightComponent(ScrollDe);
//Se puede mover el JSplitPane
splitPane.setOneTouchExpandable(true);
pPrincipal.add(splitPane);
}
else {
//Panel Derecho
if(panelIndiceB){
//Borramos el anterior panel derecho
pPrincipal.remove(panelDe);
ScrollDe.remove(panelDe);
splitPane.remove(panelDe);
//nuevo panel derecho
panelDe = PanelIndice();
//Scroll para el panel derecho
ScrollDe = new JScrollPane(panelDe);
ScrollDe.setViewportView(panelDe);
splitPane.setRightComponent(ScrollDe);
splitPane.validate();
pPrincipal.validate();
}
else if(panelHolaB){
//Borramos el anterior panel derecho
pPrincipal.remove(panelDe);
ScrollDe.remove(panelDe);
splitPane.remove(panelDe);
//nuevo panel derecho
panelDe = PanelHola();
//Scroll para el panel derecho
ScrollDe = new JScrollPane(panelDe);
ScrollDe.setViewportView(panelDe);
//Ponemos el Panel Derecho en el JSplitPane
splitPane.setRightComponent(ScrollDe);
splitPane.validate();
pPrincipal.validate();
}
}
//Proporcionamos el tamaño minimo de los dos componentes del Split Panel
ScrollIz.setMinimumSize(new Dimension(300,100));
// ScrollDe.setMinimumSize(new Dimension(200,100));
//Se establece la localizacion inicial y el tamaño del divisor
splitPane.setDividerLocation(484);
splitPane.setDividerSize(7);
}
La libertad estimula el espíritu de los hombres fuertes. |