[Resolvido] JTable com Headers em linhas/colunas em diveras linhas
6 respostas
A
andrielc
Ola pessoal, gostaria de saber se é possivel criar uma tabela dessa forma, com os respectivos cabecalhos:
|------------------------------------------------------|| Nome Projeto ||------------------------------------------------------|| Nome Tarefa 1 ||------------------------------------------------------|| Atividades | F1 | F2 | F3 | F4 | F5 | |------------------------------------------------------|.......... Aqui entra os campos da tabela........................|------------------------------------------------------|| Nome Tarefa n ||------------------------------------------------------|| Atividades | F1 | F2 | F3 | F4 | F5 | |------------------------------------------------------|.......... Aqui entra os campos da tabela.............
F1,…,F5 são colunas para campos de calendario, F1 corresponde à fase 1 da atividade X correspondente à tarefa Y.
Gostaria de dicas, possiveis solucões desse problema, discusões… até um “oi” é bem vindo!!! :lol::lol:
Andriel,
Não sei se será possivel criar um jtable com mais de um header.
Quanto tiver um tempo, acesse esse site: http://www.java2s.com/Tutorial/Java/0240__Swing/1000__JTable.htm , tem vários modelos de Jtable, quem sabe algum se aproxima do que você precisa.
Porém, nenhum aproximou da funcionalidade que procuro, sei que terei que codar na unha, mas não sei de onde partir.
Fico no aguardo para novas dicas.
Muito obrigado!!
Ironlynx
Andriel, eu já trabalhei em jtable com subheaders(veja exemplo aqui: http://www.guj.com.br/java/216125-jtable-com-subheaders ), mas o seu me parece uma diferente abordagem. Nome Projeto pode ser um JLabel, e Nome Tarefa é o Header com as colunas.Para mim, pelo seu desenho, vc terá que ter N Jtables para cada tarefa, e ir colando a jpanels(talvez dinamicamente, comforme a necessidade) com FlowLayout vertical.
A
andrielc
Ola Ironlynx, muito obrigado pela dica. Sim, vou seguir seu conselho em colocar o Nome Projeto em um JLabel e colar JPanels em FlowLayout com JTable em cada um… A performance não sera boa, não é?
E sobre o seu link; o exemplo usa DefaultTableModel, tentei aplicar com o meu modelo de TableModel (utilizando AbstractTableModel) e da erro:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
at java.util.Vector.elementAt(Vector.java:470) (algo parecido com o que voce colocou no seu post …)
Tentei aplicar também o modelo do Marky(com o exemplo que ele usou no comentario) e não consegui adicionar mais de um Header… :shock: … Nem mesmo o nome das colunas, setado em ColumnGroup, foi setado apenas o nome definido pelas annotations … Isso seria util apenas com a DefaultTableModel?!
Abraco!
Ironlynx
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
at java.util.Vector.elementAt(Vector.java:470) (algo parecido com o que voce colocou no seu post …)
Funciona perfeitamente com AbstractTableModel.Estou inclusive usando num projeto aqui.Posta o código(usando as tags code) de como vc tá usando o model/criando os column groups.
A
andrielc
Iron, perdão pela ausencia, consegui arrumar e esta funcionando bonito!
Era o meu modelo que estava faltando cases à ser adicionado.