Pessoal eu tou com um problema em um JInternalFrame assim: eu tenho um jtable nele que recebe dados de clientes de um BD e tem tambem um textField que é usado para busca na jtable. quando eu abro o internal ele ja pega os dados e joga na jtable. mas se eu fechar o internal e cadastrar outro cliente e abrir o internal novamente ele nao mostra o cliente cadastrado por ultimo e a funçao de busca do jtextfield tambem nao funciona mais.
eu tou usando a funçao dispose(); pra fechar o internal. será que essa função fecha mesmo o internal ou apenas esconde ele?
import javax.swing.JInternalFrame;
public class MyInternalFrame extends JInternalFrame{
public MyInternalFrame() {
//COLOQUE ISSO AQUI NO SEU CODIGO
setDefaultCloseOperation(JInternalFrame.EXIT_ON_CLOSE);
}
//quando fechar o JInternalFrame
public void sair(){
dispose();
}
}
Eu tentei fazer isso colocando no construtor, mas não funcionou. Assim, funcionou numa boa a primeira vez, mas se eu fechar o internal e abrir novamente não funciona mais.
Cara eu resolvi o problema, só que não sei qual era a causa. Eu já tinha tentado tudo que eu sabia e nada, ai eu criei outra classe e copiei o código pra ela e funcionou. Acho que era so frescura mesmo.
Galera eu resolvi colocar outra dúvida aqui pra não abrir outro topico.
É assim, eu tou com um internal que tem um botão pra abrir outro, ai ele funciona legal duas vezes, na terceira vez ele da erro. eu tou criando o codigo com o VE para o Eclipse.
O erro que da é esse:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1034)
at javax.swing.JLayeredPane.addImpl(JLayeredPane.java:209)
at javax.swing.JDesktopPane.addImpl(JDesktopPane.java:470)
at java.awt.Container.add(Container.java:352)
at telas.AlterarCliente$14.actionPerformed(AlterarCliente.java:635)
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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
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)