Ola pessoal.
Gostaria de saber como usar o JDialog como se fosse um JInternalFrame. Eu tenho um JFrame, nele contem um JMenuBar, um JMenu e um JMenuItem, e ao clicar no JMenuItem chama o JDialog. Eu gostaria de deixar esses JDialog igual ao JInternalFrame. Quero que ele ocupe toda a tela restante do aplicativo como o JIntenalFrame faz, e gostaria de saber como criar um evento para quando ele for ser fechado exibir um JOptionPane perguntando se deseja mesmo fechar essa tela.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Principal extends JFrame{
private JDesktopPane desktopPane;
private JMenuBar menuBar;
private JMenu menu;
private JMenuItem menuItem1;
private JDialog1 jd1;
public Principal(){
super("Principal");
setExtendedState(MAXIMIZED_BOTH);
setSize(500,400);
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
desktopPane = new JDesktopPane();
menuBar = new JMenuBar();
setJMenuBar(menuBar);
menu = new JMenu("Menu");
menuItem1 = new JMenuItem("MenuItem1");
menuItem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(jd1 == null){
jd1 = new JDialog1();
jd1.setVisible(true);
}
else if(!jd1.isVisible()){
jd1.setVisible(true);
}
}});
setContentPane(desktopPane);
menuBar.add(menu);
menu.add(menuItem1);
}
public static void main(String[]args){
Principal principal = new Principal();
}
}
import java.awt.*;
import javax.swing.*;
public class JDialog1 extends JDialog{
public JPanel panel;
public Container container;
public JDialog1(){
setTitle("JDialog");
setModal(true);
panel = new JPanel();
container = getContentPane();
container.add(panel);
this.dispose();
}
}
Essa minha duvida é apenas para estudo mesmo, ainda nem comecei a aprender sobre swing e interface grafica na faculdade mas já me interessei e estou aprendendo por conta.
P.s: Eu estou programando no JGrasp e ele não tem a ferramenta para edição de componentes do swing igual o NetBeans e o Eclipse, é tudo feito a partir de linhas de comando, nada de arrastar e talz ^^".