Eu gostaria de saber quando JInternalFrame esta minimizado, como maximiza-lo por linha de comando?
Porque tipo, quando eu minizimo, ele vai la em baixo no canto esquerdo, dai se eu clico no menu que abre ele novamente, nao acontece nada. Entao eu gostaria de fazer um codigo que testa se ja esta aberto, caso estiver, ele maximiza-o. Alguem tem ideia de como fazer isso?
Tenho outro duvida tambem, quando eu arrasto o JInternalFrame, se ele ultrapassar o JDesktopPane ele consegue ne, como eu faço pra limitar o JInternalFrame a apenas a area do JDesktopPane?
[Editado]
Galera, surgiu outra duvida. Vamos supor que em um campo CPF, la no JTextField eu queira colocar assim:
pra que na hora que a pessoa clicar no TextField, ele vá direto para o começo dele e ao digitar 3 numeros, o ponteiro pule o ponto e passe para o proximo campo. Como fazer isso?
Outra coisa tambem que eu estava vendo no meu programa, quando eu minimizo o JInternalFrame o foco muda de campo… o estanho é que ele muda no sentido de cima para baixo, sendo que na frente do 1 campo que esta com foco tem outros TextFields. E o foco sempre para no ultimo TextField la em baixo… alguem sabe se isso é normal?
Você verifica se o jifCadastrarClientes está minimizado e, se estiver, o minimiza de novo?? O correto seria:
if(jifCadastrarClientes.isIcon()) // se for um icon
jifCadastrarClientes.setIcon(false); // tira desse estado
else // senão (não está iconizada)
jifCadastrarClientes.toFront(); // trás para frente das outras
Quanto ao CPF, use um JFormattedTextField que resolverá seu problema.
Quanto ao foco dentro do JInternalFrame, nunca tinha visto isso. Talvez outra pessoa possa ajudar.
Você verifica se o jifCadastrarClientes está minimizado e, se estiver, o minimiza de novo?? O correto seria:
if(jifCadastrarClientes.isIcon()) // se for um icon
jifCadastrarClientes.setIcon(false); // tira desse estado
else // senão (não está iconizada)
jifCadastrarClientes.toFront(); // trás para frente das outras
Quanto ao CPF, use um JFormattedTextField que resolverá seu problema.
Quanto ao foco dentro do JInternalFrame, nunca tinha visto isso. Talvez outra pessoa possa ajudar.[/quote]
Eu tentei com esse codigo amigo, nao funcionou. Deu exception…
[quote]Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: Uncompilable source code - unreported exception java.beans.PropertyVetoException; must be caught or declared to be thrown
at projlocadora.TelaPrincipal.jmiCad_ClientesActionPerformed(TelaPrincipal.java:668)
at projlocadora.TelaPrincipal.access$000(TelaPrincipal.java:23)
at projlocadora.TelaPrincipal$1.actionPerformed(TelaPrincipal.java:600)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)[/quote]
Eu quero fazer o seguinte, na hora que eu clico no menu Cadastrar > Clientes ele vai abrir o JInternalFrame, se por acaso eu clicar em minimizar, ele vai la pro canto. Vamos dizer que eu esqueça que eu minimizei e vou novamente em Cadastrar > Clientes. Ao inves de abrir outro JInternalFrame, eu quero maximizar o ja aberto…
O setIcon pode lançar uma PropertyVetoException. E por isso vc deve captura-la.
try {
if(jifCadastrarClientes.isIcon()) // se for um icon
jifCadastrarClientes.setIcon(false); // tira desse estado
else // senão (não está iconizada)
jifCadastrarClientes.toFront(); // trás para frente das outras
} catch (PropertyVetoException e) {}