Seguinte, eu consegui tratar meus panels como preciso porem criei uma classe chamada ControlaPanels e nela eu tenho a seguinte estrutura.
public class ControlaPanels{
// classe que controla ações nos panels
private JPanel panel = null;
private JLabel status = null;
public void setPainel(JPanel panel){
this.panel = panel;
}
public JPanel getPainel(){
return this.panel;
}
}
public class Principal {
// aqui eu crio os panels e uso metodos para definilos
ControlaPanels controlaPanels = new ControlaPanels();
private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popUpGetPanel.show(e.getComponent(), e.getX(), e.getY());
// panels
JPanel painel = (JPanel)e.getComponent();
controlaPanels.setPanel(painel);
System.out.println(controlaPanels.getPainel().getName()); //ate aqui td bem, tenho o retorno do nome do panel
}
}
}
public class MeusPanels {
//aqui esta o problema
ControlaPanels controlaPanels = new ControlaPanels();
public void exibeMeuPanel(){
controlaPanels.getPainel(); //retorna valor null
}
}
Quando invoco a classe ControlaPanels por outra classe e uso um metodo para pegar o getPainel() ela retorna “null”. Quero fazer com que depois de definida as variaveis ela mantenha até que sejam trocados os valores.
obrigado.