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/2004packagegeneral.sumples;importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JInternalFrame;importjavax.swing.JPanel;/*** @author Rodrigo G. Tavares de Souza - [black_fire]** Nome do arquivo: InternalFrameSample.java* TODO comentar o código*/publicclassInternalFrameSampleextendsJFrame{/** * método que exibe o JInternalFrame */privatevoidjBtnShowFrameOnClick(ActionEvente){oneFrame=newJInternalFrame("Um Frame");oneFrame.setSize(200,200);mainFramesArea.add(oneFrame);oneFrame.setResizable(true);oneFrame.show();}/** * método que fecha o JInternalFrame */privatevoidjBtnCloseFrameOnClick(ActionEvente){oneFrame.dispose();}/** * adiciona os eventos nos componentes */privatevoidaddEvents(){jBtnShowFrame.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){jBtnShowFrameOnClick(e);}});jBtnCloseFrame.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){jBtnCloseFrameOnClick(e);}});}/** * Inicializa os componentes, seta o layout e posiciona os componentes */privatevoidappInit(){setSize(400,300);setDefaultCloseOperation(DISPOSE_ON_CLOSE);BorderLayoutbl=newBorderLayout();getContentPane().setLayout(bl);bar=newJPanel();getContentPane().add(bar,BorderLayout.NORTH);jBtnShowFrame=newJButton("Exibir Frame");jBtnCloseFrame=newJButton("Fechar Frame");bar.add(jBtnShowFrame);bar.add(jBtnCloseFrame);mainFramesArea=newJDesktopPane();getContentPane().add(mainFramesArea,BorderLayout.CENTER);addEvents();show();}/** * método contrutor da classe */publicInternalFrameSample(){super("JInternalFrame Sample");appInit();}publicstaticvoidmain(String[]args){InternalFrameSampleapp=newInternalFrameSample();}privateJPanelbar;privateJDesktopPanemainFramesArea;privateJInternalFrameoneFrame;privateJButtonjBtnShowFrame;privateJButtonjBtnCloseFrame;}
Hempx
Isso tem mil e uma maneiras…
mas todas chamam o metado show() da classe JInternalFrame
public void paintComponent( Graphics g ) {
ImageIcon ico = new ImageIcon("image.gif");
ico.paintIcon( this, g, 0, 0 );
}
P
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
A
alexfb
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…