JInternalFrame

5 respostas
A

:roll:

Olá pessoal…

Preciso de um help, se possível.

Estou trabalhando com um projeto, onde existe uma tela principal e um JInternalFrame.

Tenho duas perguntas…

1a.) Como posso ativar o JInternalFrame após um determinado comando, sendo que ele já aparece na tela assim q ativo o programa.

2a.) Preciso inserir o logo da empresa na tela principal. Como faço isso ? Através de JPanel ?

OBs.: Estou trabalhando com NetBeans

Qualquer ajuda será bem vinda

Grato

5 Respostas

black_fire
"alexfb":
1a.) Como posso ativar o JInternalFrame após um determinado comando, sendo que ele já aparece na tela assim q ativo o programa.

Kra, já faz um tempinho q eu não faço nada em swing, mas pelo q eu lembro o q você tem que fazer é não deixar o Netbeans dar um show no seu jInternalFrame...

Eu estou sem o NetBeans na minha máquina, por isso não consegui ver se há alguma propriedade para fazer isso...

:arrow: Criei um exemplo básico no Eclipse, não sei se vai ajudar muito, pq não deu pra comentar, já tá meio tarde... mas amanhã assim que eu tiver um tempinho edito essa msg e faço os comentários!!

//Created on 12/05/2004

package general.sumples;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;

/**
* @author Rodrigo G. Tavares de Souza - [black_fire]
*
* Nome do arquivo: InternalFrameSample.java
* TODO comentar o código
*/
public class InternalFrameSample extends JFrame {
	
	/**
	 * método que exibe o JInternalFrame 
	 */
   private void jBtnShowFrameOnClick(ActionEvent e) {
      oneFrame = new JInternalFrame("Um Frame");
      oneFrame.setSize(200,200);
      mainFramesArea.add(oneFrame);
      oneFrame.setResizable(true);
      oneFrame.show();
   }
   
   /**
    * método que fecha o JInternalFrame
    */
   private void jBtnCloseFrameOnClick(ActionEvent e) {
      oneFrame.dispose();
   }
   
   /**
    * adiciona os eventos nos componentes
    */
   private void addEvents() {
      jBtnShowFrame.addActionListener(
         new ActionListener() {
            public void actionPerformed(ActionEvent e) {
               jBtnShowFrameOnClick(e);
            }
         }
      );
      
      jBtnCloseFrame.addActionListener(
         new ActionListener() {
            public void actionPerformed(ActionEvent e) {
               jBtnCloseFrameOnClick(e);
            }
         }
      );
      
   }
   
   /**
    * Inicializa os componentes, seta o layout e posiciona os componentes
    */
   private void appInit() {
      setSize(400,300);
      setDefaultCloseOperation(DISPOSE_ON_CLOSE);
      
      BorderLayout bl = new BorderLayout();
      getContentPane().setLayout(bl);
      
      bar = new JPanel();
      getContentPane().add(bar, BorderLayout.NORTH);
      
      jBtnShowFrame = new JButton("Exibir Frame");
      jBtnCloseFrame = new JButton("Fechar Frame");
      
      bar.add(jBtnShowFrame);
      bar.add(jBtnCloseFrame);
      
      mainFramesArea = new JDesktopPane();
      getContentPane().add(mainFramesArea, BorderLayout.CENTER);
      
      addEvents();
      
      show();
   }
   
   /**
    * método contrutor da classe
    */
   public InternalFrameSample() {
      super("JInternalFrame Sample");
      appInit();
   }
   
   public static void main(String[] args) {
      InternalFrameSample app = new InternalFrameSample();
   }
   
   private JPanel bar;
   private JDesktopPane mainFramesArea;
   private JInternalFrame oneFrame;
   
   private JButton jBtnShowFrame;
   private JButton jBtnCloseFrame;
}
Hempx

Isso tem mil e uma maneiras…
mas todas chamam o metado show() da classe JInternalFrame

vc pode inserir isso no label…

ImageIcon ico = new ImageIcon("image.gif");
JLabel label = new JLabel();
label.setIcon( ico );

ow… vc pode reescrever o metado paintComponent()

public void paintComponent( Graphics g ) { ImageIcon ico = new ImageIcon("image.gif"); ico.paintIcon( this, g, 0, 0 ); }

P

Uso um codigo bem parecido com o que vc escreceu o exemplo acima, A partir disso eu gostaria de saber com poderia implementar para que a janela JInternalFrame fosse aberta uma so vez.

perell

A

Eu estou com um problema parecido, mas… eu gostaria que toda a vez que eu clicar sobre uma opção de menu, a janela venha a se abrir, mas… isso funciona somente na primeira vez que executo o programa.

Vcs podem me ajudar? Grato

Hempx

“perell”:
Uso um codigo bem parecido com o que vc escreceu o exemplo acima, A partir disso eu gostaria de saber com poderia implementar para que a janela JInternalFrame fosse aberta uma so vez.

perell

jeito mais facil e sempre dar setEnabled( false) quando vc clica itemMenu e setEnabled( true) qd vc fecha a janela…

Criado 12 de maio de 2004
Ultima resposta 31 de mai. de 2004
Respostas 5
Participantes 4