Antes de tudo, peço desculpas pelo tamanho do post.
Ola pessoal, estou trabalhando com uma JTabbedPane com 2 abas. Pois bem, estou tentando gravar as informações das abas e me aparece um erro que nao soube identificar, alguem poderia me ajudar?
Segue a tela para terem uma noção…
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: javax.swing.JTabbedPane
at controle.ControleFornecedor.actionPerformed(ControleFornecedor.java:26)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Eu estou programando no padrao MVC-DAO (Modelo, Visao, Controle + o pacote DAO)
Modelo - Set’s e Get’s
Visao - É a tela propriamente dita com todas as opções
Controle - Onde eu faço o controle de todas as opções
DAO - Gravo tudo no banco de Dados.
Entao, eu coloquei 1 JTabbedPane para ficar com abas pois acho mais funcional pro meu caso especifico.
Cada JPanel com as JLabel e o JTextField quando eu coloco o JPanel ele cria uma aba.
No codigo
JPanel painel = (JPanel)tela.getContentPane
Eu to dizendo que as informações estão vindo de um painel localizado no frame (tela).
Quando eu faço
JTextField nome = (JTextField)painel.getComponent(1);
eu to pegando o valor digitado no componente localizado como 1.
O grande problema é: Como estou trabalhando com abas eu nao estou sabendo como fazer esse “casting” para pode pegar as informacoes digitados e grava-los no banco.
O Problema de fazer essa codificação é que você pode errar ao pesquisar no container o indice!
Ou seja, você pode estar armazenando em um JTextField um JTextArea.
Digamos que você está utilizando a codificação:
JTextField razao = (JTextField)painel1.getComponent(1); // Esse getComponent(1) é um JTextArea e você está utilizando um cast para JTextField.
Pronto, irá levantar a exceção:
Exception in thread "main" java.lang.ClassCastException: javax.swing.JTextArea cannot be cast to javax.swing.JTextField
Conversei hoje com meu amigo e ele me disse que eu estou querendo complicar.
A aba2 faz referencia a uma tabela diferente no banco de dados, entao pode ser ai o problema.
Conversei com a professora tambem e ela disse para eu colocar todos os dados em uma unica aba, por que se nao, eu teria que ter um botao salvar na aba1 e outro botao salvar na aba2, deve ser por isso que o banco nao entende na hora de salvar, por que nao sabe quem vem primeiro.
Irei fazer algumas alterações em cima do projeto e quando funcionar eu venho colocar, nao vou inventar…
o erro esta no JPanel painel1 = (JPanel)painel.getComponent(1); eu tinha colocado 0
Iniciei minha aplicação com um JToolBar (deve ter contado como um painel) entao eu estava pegando as informacoes do JPanel 1 e nao o 0 (que é o JToolBar)
o erro esta no JPanel painel1 = (JPanel)painel.getComponent(1); eu tinha colocado 0
Iniciei minha aplicação com um JToolBar (deve ter contado como um painel) entao eu estava pegando as informacoes do JPanel 1 e nao o 0 (que é o JToolBar)