Eu estou com um problem de colocar uma árvore em uma jtable. Eu tenho uma lista de objetos que é simples de colocar no jtable… mas cada objeto desse tem uma lista de outro tipo de objeto que eu gostaria que aparecesse em baxixo de cada objeto da jtable, um em cada linha, e que a tabela fosse capaz de colpsar e expandir esses objetos no objeto pai… eu já andei dando uma olha no forum aqui e achei um exemplo http://java.sun.com/products/jfc/tsc/articles/treetable1/index.html mas eu tô meio confuso e não consegui fazer o que queria e como sempre estou precisando de resolver isso rádipo… Smile
Será que alguém pode me dá um help aí… com outros exemplo… ou como seria mais correto modificar o exemplo que citei… tô meio perdido galera… por favor me ajudem!!! Smile
então... eu tô tentando modificar o exemplo do link que postei anteriormente e estou colocando o meu TableModel que será usado na lugar do FileSystemModel.... só que não está dando muito certo não.... será que alguém poderia me ajudar.... acho que ainda não peguei o esquema ... por favor me ajudem!!!!!
abraços!!!!!
publicclassJObjectFlowTableModelextendsAbstractTreeTableModelimplementsTreeTableModel{privateJObjectFlow[]m_objectFlowList;// Names of the columns.staticprotectedString[]cNames={"#","Título do Contrato",""};// Types of the columns.staticprotectedClass[]cTypes={Integer.class,TreeTableModel.class,ImageIcon.class};/** Creates a new instance of JObjectFlowTaskModel */publicJObjectFlowTableModel(JObjectFlow[]objectFlowList){super(newObjectFlowNode(objectFlowList));m_objectFlowList=objectFlowList;}publicJObjectFlowgetObjectFlow(Objectnode){return((JObjectFlow)node);}publicList<JStage>getChildren(Objectnode){return((JObjectFlow)node).getFlow().getStages();}publicintgetChildCount(Objectnode){return(node!=null)?getChildren(node).size():0;}publicObjectgetChild(Objectnode,inti){if(nodeinstanceofJObjectFlow)returngetStages((JObjectFlow)node).get(i);elsereturnnull;}publicObjectgetValueAt(Objectnode,intcolumn){if(nodeinstanceofJObjectFlow){JObjectFlowobjFlow=(JObjectFlow)node;try{switch(column){case0:return1;case1:returnobjFlow.getName();}}catch(SecurityExceptionse){}}else{if(nodeinstanceofJStage){JStagestage=(JStage)node;try{switch(column){case0:return"";case1:returnstage.getName();}}catch(SecurityExceptionse){}}}return"";}publicObjectgetValueAt(introwIndex,intcolumnIndex){returngetValueAt(getObjectFlow(rowIndex),columnIndex);}publicintgetColumnCount(){returncNames.length;}publicObjectgetObject(introw){if(row>=0){return(JObjectFlow)this.m_objectFlowList[row];}returnnull;}publicStringgetColumnName(intcolumn){returncNames[column];}publicClassgetColumnClass(intcolumn){returncTypes[column];}}