Como faço para verificar se um determinado JFrame está visivel na tela, ou como posso passar esse jframe visivel com parametro para outra classe.
JFrame em Execução
6 Respostas
para ver se ele está visível basta usar o método isVisible() da classe JFrame. Para passar como parâmetro não importa se ele está visível ou não. Vc passa como parâmetro da mesma forma que passa qualquer outro Objeto. Pode ser via construtor, via injeção de dependência e etc.
Vamos supor que eu tenho um frame5 e um frame6 em execução e visivel, e quero gerar um código no frame5 que me fala se o frame6 está visivel. Poderia elaborar um função dessa para eu entender melhor.
Obrigado.
Exemplo no qual nao me preocupei com Layout:
public class Frame extends JFrame {
private JFrame frameAlvo;
private JLabel labelMensagem;
public Frame(final JFrame frameAlvo) throws HeadlessException {
super("Testando");
this.frameAlvo = frameAlvo;
labelMensagem=new JLabel(""+frameAlvo.isVisible());
this.add(labelMensagem,BorderLayout.NORTH);
JButton botao=new JButton("Mostrar status");
botao.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
frameAlvo.setVisible(!frameAlvo.isVisible());
labelMensagem.setText(""+frameAlvo.isVisible());
}
});
botao.setMaximumSize(new Dimension(80, 20));
this.add(botao,BorderLayout.CENTER);
}
public static void main(String[] args){
JFrame frameAlvo=new JFrame("Alvo");
frameAlvo.setSize(200,200);
frameAlvo.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
Frame frame=new Frame(frameAlvo);
frame.setSize(200, 200);
frame.setLocation(201, 0);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Qdo vc preciona o botao ele informa o status da janela alvo, se ela está visivel (true) ou nao (false)
Existe a possibilidade de voçe gerar a rotina para os botões da Janela1, um abre janela2 e o outro verifica se a janela 2 está visivel, levando em consideração que essas janelas foram feitas no netbeans manualmente.
Obridado.

Com base no meu exemplo da pra vc fazer, basta adicionar outro botao com um novo Listener, é só vc ver o que fiz e procurar entender. Em particular, para entender o Listenster recomendo estudar o Pattern Observer do GoF.
Consegui, entendi o seu código e gerei o meu.
Obrigado.