Boa tarde!
Estou com um probleminha, sou iniciante na linguagem Java, e estou tentando colocar um janela como principal e a partir da mesma ter as janelas internas,
porém ñ estou conseguindo, fiz separadamente só para visualizar melhor.;
olha só.;
Esta é a minha janela principal
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
/**
*
* @author Tassilo
*/
public class JanelaPrincipal extends JFrame implements ActionListener{
private JButton btninterna;
private JanelaInterna janelaInterna;
private JDesktopPane principal;
private JMenuItem newFrame;
public JanelaPrincipal(){
super("Janela Principal");
btninterna = new JButton("Visualizar Janel Interna");
setLayout(null);
btninterna.setBounds(30, 40, 300, 25);
getContentPane().add (btninterna);
principal = new JDesktopPane();
add(principal);
//principal.add(newFrame);
newFrame.addActionListener(this);
btninterna.addActionListener(this);
setSize(new Dimension(400, 200));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btninterna){
mostrarJanelaInterna();
}
}
private void mostrarJanela(JInternalFrame frame) {
if (principal.getComponentZOrder(frame) == -1) {
principal.add(frame);
}
frame.setVisible(true);
frame.pack();
try {
frame.setSelected(true);
} catch (PropertyVetoException ex) {
Logger.getLogger(JanelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void mostrarJanelaInterna() {
if (janelaInterna == null) {
janelaInterna = new JanelaInterna();
}
mostrarJanela(janelaInterna);
}
}
e esta é a janela interna, ou janela filha:
import java.awt.Dimension;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
/**
*
* @author Tassilo
*/
public class JanelaInterna extends JInternalFrame{
private JLabel lblinterna;
public JanelaInterna(){
super();
lblinterna = new JLabel("ESTA É A JANELA INTERNA");
setLayout(null);
lblinterna.setBounds(30, 40, 200, 30);
getContentPane().add (lblinterna);
setSize(new Dimension(300, 200));
setClosable(true);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
se alguém puder me ajudar eu agradeço.;.