Boa Noite Pessoal Estou com um problema de gerenciamento de JInternalFrames no meu jDesktopPane
eu tenho a instância dele mas ao fecha-lo ele nao abre novamente já busquei aqui no forum mas está complicado
como faço esse gerenciamento para ver se ele ja esta fechando
ou aberto ao fechar setar o valor null a ele agradeço desde agora amigos.
JInternalFrame Não Abre Depois de Fechados
1 Resposta
C
eu n conheço esses dois components JInternalFrames e jDesktopPane, mas se for igual ao JFrame, quando for fechado e pretende-se reabri utilize setVisible(false) ou HIDE_ON_CLOSE ao inves de DISPOSE_ON_CLOSE, para reabri-los setVisible(true).
exemplo:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public MainClass() {
JButton btn1 = new JButton("Button1");
add(btn1);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//JFrame.HIDE_ON_CLOSE ou JFrame.DISPOSE_ON_CLOSE
frame.addWindowListener(new FrameListener());
frame.setSize(200, 200);
frame.setVisible(true);
}
No caso do JFrame e JDialog, tem o metodo addWindowsListener(...) para acoes de janela como abrir, fechar, mudar o tamanho, ... exemplo
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public MainClass() {
JButton btn1 = new JButton("Button1");
add(btn1);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.addWindowListener(new FrameListener());
frame.setSize(200, 200);
frame.setVisible(true);
}
}
class FrameListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//frame.setVisible(false); caso deseje reabri-lo ou frame.dispose(); caso deseje fechar para sembre e nao finalizar a aplicação
}
}
fonte: http://www.java2s.com/Code/JavaAPI/javax.swing/JFrameaddWindowListenerWindowListenerlis.htm
Criado 2 de outubro de 2011
Ultima resposta 2 de out. de 2011
Respostas 1
Participantes 2