po galera eu tenho um frame principal e chamo um internal frame em outra classe. Gostaria de saber como fechar o internal frame sem precisar abrir o frame de novo, pq eu to usando o metodo dispose mas ai o frame principal esconde os buttons atras do desktop pane q fica todo branco
internalFame.setVisible(false);
caro abdon, eu fiz o q vc me disse, mas resolveu o problema em parte…
o DesktopPane continua ativo e o frame fica todo branco, mas os labels ficam escondidos e ainda e possivel clicar neles…
segue a classe principal e a arcade, q contem o internal frame
PS: se depois de eu fechar o internal frame clicando no botao VOLTAR, eu minimizar o frame principal e maximiza-lo novamente os labels aparecem
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Principal extends JFrame{
public Principal(){
initComponents();
setBounds(0,0,800,600);
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jDesktopPane1 = new javax.swing.JDesktopPane();
getContentPane().setLayout(null);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("BAQUETA");
setResizable(false);
jPanel1.setLayout(null);
jLabel1.setDisplayedMnemonic('A');
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel1.setText("ARCADE");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
jPanel1.add(jLabel1);
jLabel1.setBounds(380, 90, 110, 40);
jLabel2.setDisplayedMnemonic('e');
jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel2.setText("EXIBI\u00c7\u00c3O");
jPanel1.add(jLabel2);
jLabel2.setBounds(380, 186, 110, 40);
jLabel3.setDisplayedMnemonic('O');
jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel3.setText("OP\u00c7\u00d5ES");
jPanel1.add(jLabel3);
jLabel3.setBounds(380, 280, 110, 40);
jLabel4.setDisplayedMnemonic('X');
jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel4.setText("EXTRAS");
jPanel1.add(jLabel4);
jLabel4.setBounds(380, 370, 100, 40);
jLabel5.setDisplayedMnemonic('S');
jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel5.setText("SAIR");
jPanel1.add(jLabel5);
jLabel5.setBounds(380, 460, 100, 40);
jPanel1.add(jDesktopPane1);
jDesktopPane1.setBounds(0, 0, 800, 600);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 800, 600);
pack();
}
// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
Arcade arcade = new Arcade();
arcade.setVisible(true);
jDesktopPane1.add(arcade);
}//GEN-LAST:event_jLabel1MouseClicked
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}
Classe ARCADE
import javax.swing.JInternalFrame;
import java.awt.event.*;
import java.awt.*;
public class Arcade extends JInternalFrame {
public Arcade() {
initComponents();
setBounds(0,0,800,600);
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
getContentPane().setLayout(null);
jPanel1.setLayout(null);
jLabel1.setDisplayedMnemonic('v');
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel1.setText("VOLTAR");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
jPanel1.add(jLabel1);
jLabel1.setBounds(650, 490, 90, 50);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 800, 600);
pack();
}
// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
setVisible(false);
}//GEN-LAST:event_jLabel1MouseClicked
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}
Classe Arcade
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import java.awt.event.*;
import java.awt.*;
public class Arcade extends JInternalFrame {
private JFrame chamador = null;
public Arcade(JFrame chamador) {
initComponents();
setBounds(0,0,800,600);
this.chamador = chamador;
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
getContentPane().setLayout(null);
jPanel1.setLayout(null);
jLabel1.setDisplayedMnemonic('v');
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel1.setText("VOLTAR");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
jPanel1.add(jLabel1);
jLabel1.setBounds(650, 490, 90, 50);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 800, 600);
pack();
}
// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
setVisible(false);
chamador.getContentPane().repaint();
}//GEN-LAST:event_jLabel1MouseClicked
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}
Classe Principal
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Principal extends JFrame{
public Principal(){
initComponents();
setBounds(0,0,800,600);
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jDesktopPane1 = new javax.swing.JDesktopPane();
getContentPane().setLayout(null);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("BAQUETA");
setResizable(false);
jPanel1.setLayout(null);
jLabel1.setDisplayedMnemonic('A');
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel1.setText("ARCADE");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
jPanel1.add(jLabel1);
jLabel1.setBounds(380, 90, 110, 40);
jLabel2.setDisplayedMnemonic('e');
jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel2.setText("EXIBI\u00c7\u00c3O");
jPanel1.add(jLabel2);
jLabel2.setBounds(380, 186, 110, 40);
jLabel3.setDisplayedMnemonic('O');
jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel3.setText("OP\u00c7\u00d5ES");
jPanel1.add(jLabel3);
jLabel3.setBounds(380, 280, 110, 40);
jLabel4.setDisplayedMnemonic('X');
jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel4.setText("EXTRAS");
jPanel1.add(jLabel4);
jLabel4.setBounds(380, 370, 100, 40);
jLabel5.setDisplayedMnemonic('S');
jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 18));
jLabel5.setText("SAIR");
jPanel1.add(jLabel5);
jLabel5.setBounds(380, 460, 100, 40);
jPanel1.add(jDesktopPane1);
jDesktopPane1.setBounds(0, 0, 800, 600);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 800, 600);
pack();
}
// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
Arcade arcade = new Arcade(this);
arcade.setVisible(true);
jDesktopPane1.add(arcade);
}//GEN-LAST:event_jLabel1MouseClicked
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}
Assim vai funfar
valeu mesmo abdon, e sempre bom ter alguem pra nos ajudar qdo se esta comecando…
o forum ta mto bom, parabens ae