Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jtree中具有不同行数的jtable_Java_Swing_Jtable_Jtree_Treecellrenderer - Fatal编程技术网

Java jtree中具有不同行数的jtable

Java jtree中具有不同行数的jtable,java,swing,jtable,jtree,treecellrenderer,Java,Swing,Jtable,Jtree,Treecellrenderer,我正在尝试创建一个由JTables组成的JTree。到目前为止,我成功地用Jtables创建了一个Jtree。但是,我无法更改特定树节点的表的行数。每当我尝试调整行数时,树的所有节点的行数都会更改 我在以下链接中使用了代码: 根据垃圾神的推荐,我编写了以下代码;但它不起作用;你能给我一些工作代码吗 package helperPack; import java.awt.BorderLayout; import java.util.ArrayList; import javax.swing.

我正在尝试创建一个由JTables组成的JTree。到目前为止,我成功地用Jtables创建了一个Jtree。但是,我无法更改特定树节点的表的行数。每当我尝试调整行数时,树的所有节点的行数都会更改

我在以下链接中使用了代码:

根据垃圾神的推荐,我编写了以下代码;但它不起作用;你能给我一些工作代码吗

package helperPack;

import java.awt.BorderLayout;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;

public class JTreeTrial extends JFrame {

/**
 * @param args
 */
public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode("node");              
            JTree tree = new JTree(parentNode);
            JTable table = new JTable();
            table.setModel(new DefaultTableModel() {

                 private static final long serialVersionUID = 1L;

                 @Override
                 public int getRowCount() {
                     return 2;
                 }

                 @Override
                 public int getColumnCount() {
                     return 2;
                 }

                 @Override
                 public Object getValueAt(int row, int column) {
                     return  ":" + "row" + ":" + column;
                 }
             });
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getModel().getRoot();
            node.setUserObject(table);

            JTreeTrial trial=new JTreeTrial();
            trial.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JScrollPane jsp = new JScrollPane(tree);
            trial.add(jsp, BorderLayout.CENTER);
            trial.pack();
            trial.setVisible(true);
            trial.setLocationRelativeTo(null);

        }
    });

}
}
例如:

|节点1|

   |a|b|
   |c|d|
|节点2|

   |e|f|
|节点3|

   |g|h|
   |i|j|
   |k|m|

不要在树中呈现表,而是添加一个
TreeSelectionListener
并更新相邻组件中的单个
JTable
。让每个
TreeNode
包含一个
Tablemodel
,并使用
setModel()
更新
JTable
。引用了几个相关的例子。

它是
JTree
而不是
JTree
。请编辑您的帖子。为了更好地帮助您,请尽快发布一个简短的、可运行的、可编译的、在引用的示例中不起作用的内容?请编辑您的问题,以包括一个显示您当前方法的问题。