Galera tô apanhando igual uma franga aqui… Hahaha…
Então, tenho uma aplicação desenvolvida em Eclipse que utiliza 1 JDesktopFrame dentro de um JFrame e vários JInternalFrames.
Como minha aplicação tem uma JToolBar e um JPanel (que simula uma StatusBar) eu preciso que a StatusBar fique sempre na parte inferior da janela. Bom, até ai tudo belezinha, utilizei o BorderLayout e minha ToolBar fica no NORTH e minha StatusBar na posição SOUTH.
Poxa, fica lindo… Independentemente do tamanho da janela ou qualquer outra coisa a ToolBar fica sempre no topo e a StatusBar sempre em baixo.
Ai vem o problema que está fritando meus neurônios: quando eu carrego qualquer JInternalFrame, ele abre maximizado.
Há alguma maneira de eu continuar utilizando o BorderLayout na minha aplicação, mas que meus JInternalFrames carreguem no tamanho que eu defino no setSize?
Antes de qualquer coisa: eu já tentei utilizar o .setResizable(false) no JInternalFrame, mas não resolveu.
Obrigado e um forte abraço!
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Estranho. Sempre usei JInternalFrame com BorderLayout (igual a você) e eles nunca abriram maximizados. Como você está fazendo para abrir as janelas?
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Estou montanto meu JdesktopPane assim:
[code]public class MDI extends Globais {
private static JToolBar toolBar = new JToolBar();
public static JFrame frmMDI = new JFrame(“Escola Simples”);
private static JPanel statusBar = new JPanel();
public static void JanelaMDI() {
	Font fontePadrao = new Font("Verdana", 4, 11);
	JDesktopPane espacoMDI = new JDesktopPane();
	espacoMDI.setLayout(null);
	frmMDI.setLayout (new BorderLayout());
	// Ícone
	Toolkit kit = Toolkit.getDefaultToolkit();
	Image icone = kit.getImage(System.getProperty("user.dir")
			+ "/Imagens/Ícone/Escola_Simples.png");
	frmMDI.setIconImage(icone);
	frmMDI.setExtendedState(JFrame.MAXIMIZED_BOTH);
	frmMDI.setContentPane(espacoMDI);
	//frmMDI.add(espacoMDI, BorderLayout.CENTER);
	frmMDI.setSize(800, 600);
	frmMDI.setLocationRelativeTo(null);
	frmMDI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	// -------------------------------------------------------------------
	// Barra de ferramentas
	toolBar.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, 40);
	toolBar.setFloatable(false);
	// -------------------------------------------------------------------
	// StatusBar
	statusBar.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, 24);
	statusBar.setBorder(BorderFactory.createLineBorder(Color.gray));
	statusBar.setLayout(null);
	// -------------------------------------------------------------------
	// Monta janela
	frmMDI.setJMenuBar(menuBar);
	frmMDI.add(toolBar, BorderLayout.NORTH);
	frmMDI.add(statusBar, BorderLayout.SOUTH);
	frmMDI.setVisible(true);
}
}[/code]
E estou chamando meus JInternalFrames assim:
try {
	JInternalFrame janelaDiretoriaLocal = new DiretoriaLocal().frmDiretoriaLocal;
	frmMDI.add(janelaDiretoriaLocal);
	janelaDiretoriaLocal.setSelected(true);
	janelaDiretoriaLocal = null;
} catch (Exception e1) {
	System.out.println(e1.toString());
}
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Não estou usando BorderLayout na JInternalFrame e sim no JFrame + JDesktopPane.
Abração!