Estou fazendo uma tela em swing passo a passo. Com botões voltar e avançar.
Ex: …
private Panel1 panel1;
private Panel2 panel2;
...
...
private Panel6 panel6;
private PanelBnt panelBnt;
private CardLayout layout;
private JPanel panel;
....
....
....
layout = new CardLayout();
panel = new JPanel( layout );
panel1 = new PanelPiscina1(main);
panel.add( panel1, "1" );
panel2 = new PanelPiscina2();
panel.add( panel2, "2" );
...
...
getContentPane().add( panel, BorderLayout.CENTER );
...
...
...
public void actionPerformed(ActionEvent e) {
if( e.getSource() == panelBnt.bntAvancar ){
layout.next( panel );
}
else if( e.getSource() == panelBnt.bntVoltar )
layout.previous( panel );
}
:arrow: O problema é o seguinte, como fico sabendo qual panel é o atual que está sendo visualizado? Não achei um metado parecido.
Preciso disso porque minha tela de avançar e voltar é bem parecido como essas de instalação de programas, não posso passar da primeira pra ultima, por isso preciso desabilitar o botão voltar qd estiver no “panel1” por exemplo.
Já pensei numa solução para isso aumentando um atributo na minha classe por exemplo:
private int panelAtual = 1;
...
...
public void actionPerformed(ActionEvent e) {
if( e.getSource() == panelBnt.bntAvancar ){
layout.next( panel );
panelAtual++;
if( panelAtual == 6 ){
panelBnt.bntAvancar.setEnabled(false);
}
}
else if( e.getSource() == panelBnt.bntVoltar )
layout.previous( panel );
panelAtual--;
...
...
}
eu tenho que ir por esse lado mesmo?


