PDA

View Full Version : [Java] Come faccio a nascondere un pannello, e visualizzare altri 3 contemporanemente


YSN
13-10-2011, 21:01
Ciao a tutti, sto realizzando un piccola applicazione...e ci un problema di gestione di pannelli...allora la mia applicazione quando si avvia si visualizzano solo 2 bottoni...voglio che quando faccio click su uno, si deve sparire la schermata principale cioè quella di avvio e mi si visualizza un'altra con tre pannelli contemporaneamente...

public void actionPerformed(ActionEvent e) {

Vista vista = this.controllo.getVista();

PannelloPrincipale pannelloPrincipale = (PannelloPrincipale) vista.getSottoVista(Costanti.PANNELLO_PRINCIPALE);
pannelloPrincipale.removeAll();
pannelloPrincipale.setVisible(false);

PannelloScelte pannelloScelte = (PannelloScelte) vista.getSottoVista(Costanti.PANNELLO_SCELTE);

JScrollPane jScrollPane = new JScrollPane(pannelloScelte);
vista.getContentPane().add(jScrollPane);
pannelloScelte.setVisible(true);


vista.pack();
vista.setVisible(true);


}

questo è il metodo del bottone

franksisca
13-10-2011, 22:17
innanzitutto, 3 panneli intendi 3 JPanel nello stesso Jframe?

se si, hai impostato un layout che faccia la cosa correttamente?

YSN
13-10-2011, 22:49
Grazie per l'interessamento, pensandoci un attimo quello che volevo fare sembra moooolto assurdo...ora ho pensato di fare altro, o meglio al click del bottone mi si deve visualizzare..una schermata a schede ma nemmeno questa riesco a fare...

public void actionPerformed(ActionEvent e) {

Vista vista = this.controllo.getVista();

PannelloPrincipale pannelloPrincipale = (PannelloPrincipale) vista.getSottoVista(Costanti.PANNELLO_PRINCIPALE);
pannelloPrincipale.removeAll();
pannelloPrincipale.setVisible(false);

createSchede(vista);

vista.pack();
vista.setVisible(true);
}


public void createSchede(Vista vista){

JTabbedPane tabbedPane = new JTabbedPane();

PaneFormaEstensione paneFormaEstensione = (PaneFormaEstensione) vista.getSottoVista(Costanti.PANE_FORMA_ESTENSIONE);
paneFormaEstensione.setVisible(true);

PaneMateriale paneMateriale = (PaneMateriale) vista.getSottoVista(Costanti.PANE_MATERIALE);
paneMateriale.setVisible(true);

PaneStatoIniziale paneStatoIniziale = (PaneStatoIniziale) vista.getSottoVista(Costanti.PANE_STATO_INIZIALE);
paneStatoIniziale.setVisible(true);

PaneFenomeniInterfaccia paneFenomeniInterfaccia = (PaneFenomeniInterfaccia) vista.getSottoVista(Costanti.PANE_FENOMENI_INTERFACCIA);
paneFenomeniInterfaccia.setVisible(true);

tabbedPane.addTab("Forma ed Estensione", paneFormaEstensione);
tabbedPane.addTab("Materiale", paneMateriale);
tabbedPane.addTab("Stato iniziale", paneStatoIniziale);
tabbedPane.addTab("Interfaccia fenomeni", paneFenomeniInterfaccia);

vista.getContentPane().add(tabbedPane, BorderLayout.CENTER);

}

franksisca
14-10-2011, 07:56
se ti dà un errore dicci quale. Oppure semplicemente non visualizza i nuovi componenti?

se è la 2, prova a fare il setvisible direttametne sul FramePrincipale e non sui singoli pannelli.