Javafree
Página Inicial do Fórum > GUI - (Applets, Swing, SWT, etc)

AbstractTableModel em JDialog



Criar novo tópico   Responder tópico


  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 24/06/2015 22:49:21

    Boa noite, Bom, tenho um sistema que esta quase pronto, porem com o decorrer do tempo fui tentando aprimorar as coisas, e agora surgiu um problema, pois eu usava o DefaultTableModel, mas com pesquisas e mais pesquisas, vi que aconselham a usar o Abstract.. Estou tentando ja à alguns dias tirar essa default e colocar a nova. Porem sem sucesso, pois todos os exemplos que vejo, elas estão sendo implementadas sem já ter uma interface, ou seja todos os botões, tabelas, etc, são feitas via codigo e não queria mudar tudo assim drasticamente, pois levaria mais tempo do que tenho para realizar esse procedimento. Então a principio só quero implementar essa JTable num ponto especifico. Alguem pode me ajudar?

    PS: Não tenho quase nenhum conhecimento da AbstractTableModel, estou vendo videos, achei uns tutorias bacanas, vi dicas aqui, mas ainda não consegui implementar essa tabela. Alguem pode me dar uma luz? Tipo se tiver um sistema pronto que tenha uma tabela JDialog e tenha uma tabela lá que tem os códigos de criação, e mostrar a localização da tabela, já ajudaria muito. um exemplo simples ja pronto acho que trabalhando em cima dele ja consigo realizar essa tarefa, e o resto creio que consigo implementar.

    Uso Netbeans



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 25/06/2015 11:00:09

    É simples:

    - Sua classe modelo vai estender AbstractTableModel

    - Você vai implementar os métodos:
    getColumnCount para retornar a quantidade de colunas
    getColumnName para retornar o nome da coluna informada
    getRowCount para retornar a quantidade de linhas
    getValueAt para retornar o valor da célula informada

    - Você vai atribuir o modelo à sua JTable com o método setTableModel

    Exemplo:
    http://www.staroski.com.br/2014/12/12/apresentar-itens-jtable/
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 25/06/2015 15:31:09

    Por exemplo.. tenho essa tela... Dai queria trocar as duas JTable que esta ali... Porem não consigo criar em abrir um novo JPanel.. Queria coloca-las ali, igual aparece na imagem. Então teria que criar novas classes e atribuir um metodo para criar essa JTable. =S
    E não consigo de forma alguma fazer isso.



    http://s27.postimg.org/nvj9nzt3n/telavenda.jpg



    e esse é o codigo que uso nesse JDialog



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 25/06/2015 17:07:35

    Esse fonte que você postou, não é o fonte da tela que aparece na imagem.
    Você disse que implementou DefaultTableModel, mas não há nenhum no fonte que você postou.
    Inicialmente seu post parecia que sua dúvida está em implementar um TableModel.

    Agora ficou uma confusão completa.
    Que tal explicar direitinho o que você quer fazer e qual o problema que está enfrentando?

    [quote="sergio.lhp"]Dai queria trocar as duas JTable que esta ali...


    Quer trocar as JTables pelo quê?

    [quote="sergio.lhp"]Porem não consigo criar em abrir um novo JPanel..
    Queria coloca-las ali, igual aparece na imagem.


    O que você não consegue criar?

    [quote="sergio.lhp"]Então teria que criar novas classes e atribuir um metodo para criar essa JTable. =S
    E não consigo de forma alguma fazer isso.


    Tá, mas a imagem que você postou não é das JTables que você criou?

    Não está claro o que você quer fazer e o que não está conseguindo fazer.
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 25/06/2015 17:23:58

    Não está claro o que você quer fazer e o que não está conseguindo fazer.


    Bom, eu tenho essa tela ai, e quero colocar essas tabelas (eu sei q ja estão ali, mas estão como default). Então pra isso teria que criar classes, e sei la mais o que pra colocar nomes, e dados nas tabelas.
    Por exemplo, na JTable da direita (a menor), quero ja carregar tudo o que tenho no meu banco de dados referente aos produtos ja cadastrados. Serveria para pesquisa dos produtos, que eu vincularia com os outros metodos que tem acima dela, que é a caixa de texto pro código, a combobox pro nome do produto e a caixa de texto em cima dela para pesquisar pelo nome.

    Ja a outra JTable (a maior), seria para ir adicionando os itens, e depois salva-las no banco de dados. Essa seria a mais simples, pois só vou adicionar os campos que ja tem na tela, como codigo, produto, preço, quantidade, valor final, etc. E depois salvar que tbm não deve ser dificil.
    É basicamente isso que quero fazer. Porem ainda não consegui encontrar um caminho para isso.


    [quote="sergio.lhp"]Dai queria trocar as duas JTable que esta ali...


    Quer trocar as JTables pelo quê?


    Quero colocar a abstracts... porem acaber de ver um video que é só trocar o model delas pela que eu criar. com o .setModel... Porem não sei qual é a classe que vai nele.





    [quote="sergio.lhp"]Porem não consigo criar em abrir um novo JPanel..
    Queria coloca-las ali, igual aparece na imagem.


    O que você não consegue criar?


    Não consigo criar as tabelas abstratas.





    [quote="sergio.lhp"]Então teria que criar novas classes e atribuir um metodo para criar essa JTable. =S
    E não consigo de forma alguma fazer isso.


    Tá, mas a imagem que você postou não é das JTables que você criou?


    Sim, a imagem é dela.. aquelas tabelas são default, e eu quero muda-las para abstract... Porem preciso criar tudo ainda. E o codigo é dessa tela sim, porem só tem a função de conexão, de soma, etc. nada que esteja vinculado ao JTables. Pois ainda não consegui fazer.



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 25/06/2015 19:03:24

    Com todo o respeito, você postou esse código aqui:


    Este código, não é da tela da imagem que você postou.
    Neste código não há criação de nenhuma JTable e na imagem que você postou existem duas delas.

    Essa classe que você postou extende javax.swing.JDialog e com toda certeza a implementação do javax.swing.JDialog não cria nenhuma JTable.

    Posta o código que contém a criação das 2 JTables, quando eu digo criação, me refiro à instanciação das mesmas, deve ser um código parecido com esse:

    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 25/06/2015 20:05:24

    Este código, não é da tela da imagem que você postou.
    Neste código não há criação de nenhuma JTable e na imagem que você postou existem duas delas.

    Essa classe que você postou extende javax.swing.JDialog e com toda certeza a implementação do javax.swing.JDialog não cria nenhuma JTable.

    Posta o código que contém a criação das 2 JTables, quando eu digo criação, me refiro à instanciação das mesmas, deve ser um código parecido com esse:



    Não tem criação das 2 JTables, elas ainda não estão implementadas, só coloquei elas pra que voce soubesse o que quero fazer. Onde tem essas duas tabelas, eu quero colocar minha nova JTable Abstract.



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 25/06/2015 21:13:09

    Então coloca primeiro suas JTables nesse fonte, sem se preocupar com o modelo delas, depois você posta o fonte com elas incluídas.

    Senão essa discussão não vai pra frente.
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 27/06/2015 03:42:28

    Então... estava fazendo testes e mais testes.. cheguei a quase o que preciso pra estudar...
    Cheguei a isso



    Q nada mais é do que seu codigo http://www.staroski.com.br/2009/04/09/resultset-jtable/
    A duvida esta comentada no codigo....
    que seria por isso


    e isso

    não??

    Então como eu trocaria a criação de uma nota JTable, para mantes a qual eu ja tenho?
    E o mesmo se faz ao JFrame.. tentei colocar

    mas não rolou... então como seria??
    Como?



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 27/06/2015 04:04:48

    Puts... consegui

    rsrs

    Eu fiz o seguinte... Tirei tudo do main, e deixe ele só para chamar a tela... e la sim eu coloquei os componentes...
    -arquivo main


    -arquivo TESTE



    acho que agora sim da pra começar a implementar melhor as AbstractTableModel!!!



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 29/06/2015 10:19:18

    Você está criando uma nova tela, então não vai utilizar componentes inseridos na outra tela.

    Você vai fazer


    Onde "oModeloDeDadosQueVoceQuiser" corresponde à instância de uma classe que estende AbstractTableModel, no seu exemplo, é uma instância de ResultSetTableModel.
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. sergio.lhp
    Posts:22


    Comment Arrow

    Publicado em: 29/06/2015 14:22:49




    depois eu defino por exemplo, o tamanho das colunas com


    Desse jeito esta errado amigo?
    funciona do jeito q eu quero.. Mas a formulação não sei se esta correta. poderia ter ajustes, caso voce ache que precise.
    De qualquer modo, obrigado pela atenção até agora.



  1. Relacionados