jInternalFrame

3 respostas
L

Tenho uma aplicação de JFrame com jInternalFrame e estou com problemas ao instanciar somente uma vez o jInternalFrame… após clicar no jMenuItem deverá abrir somente uma vez o jInternalFrame e por isso estou usando o padrão Singleton … só que quando clico no jMenuItem não está acontecendo nada … vou mandar o código.

Tenho 2 classes : a Tt e a Internodois ( sendo que a Tt faz o getInstance chamando a Internodois ) …

Aqui está um pedaço do código da classe Internodois que contem a jInternalFrame e o padrão Singleton

public class Internodois extends javax.swing.JInternalFrame {  
  
    private static Internodois singleton;  
  
     
   private Internodois() {  
  
          
        this.setVisible(true);  
  
    }  
  
    public static Internodois getInstance() {  
        if (singleton == null) {  
            singleton = new Internodois();  
        }  
        return singleton;  
    }

Aqui está um pedaço do código da classe Tt que tem o getInstance

public class Tt extends javax.swing.JFrame {  
  
      
      
    public Tt() {  
        initComponents();  
    }  
  
  
// evento do jMenuItem que o usuario clica para abrir   
  
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                             
        Internodois singleton = Internodois.getInstance();    //instancia a jInternalFrame
              
  
        if (singleton.getParent() != jDesktopPane1) {  
            jDesktopPane1.add(singleton);  
       }  
}

desde já agradeço

fiquem com Deus

3 Respostas

emanuelCruz

Tente dar um setSize() ou setBounds() no seu JInternalFrame().

S

Olá amigo

tenta assim:

protected void createFrameClientes() throws PropertyVetoException, Exception {

        if (frameClientes == null) {
            frameClientes = new FrameClientes();
            frameClientes.setVisible(true); //necessary as of 1.3
            desktop.add(frameClientes);
            frameClientes.pack();
            desktop.getDesktopManager().maximizeFrame(frameClientes);
        } else {
            frameClientes.setVisible(true);
        }
        try {
            frameClientes.setSelected(true);
        } catch (java.beans.PropertyVetoException e) {
        }
    }

Silvio Guedes

rafaelviny

amigo
neste link ensinei a manipular telas

http://www.guj.com.br/java/236032-jinternalframe

Criado 4 de julho de 2011
Ultima resposta 4 de jul. de 2011
Respostas 3
Participantes 4