如何在 Java 中自动调整 JTree 的大小
java 8object oriented programmingprogramming
要自动调整 JTree 的大小,请使用 Java 中的 setVisibleRowCount() 方法。首先,在树中创建一个节点 −
DefaultMutableTreeNode node = new DefaultMutableTreeNode("Project");
现在,将节点添加到上面创建的节点 −
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("App"); DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Website"); DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("WebApp"); node.add(node1); node.add(node2); node.add(node3);
现在,创建更多节点并将它们设置为我们上面创建的节点的子节点 −
DefaultMutableTreeNode one = new DefaultMutableTreeNode("Learning website"); DefaultMutableTreeNode two = new DefaultMutableTreeNode("Business website"); DefaultMutableTreeNode three = new DefaultMutableTreeNode("News publishing website"); DefaultMutableTreeNode four = new DefaultMutableTreeNode("Android app"); DefaultMutableTreeNode five = new DefaultMutableTreeNode("iOS app"); DefaultMutableTreeNode six = new DefaultMutableTreeNode("Editor WebApp"); node1.add(one); node1.add(two); node1.add(three); node2.add(four); node2.add(five); node3.add(six);
现在,创建一个 JTree 并在其中设置根节点 −
JTree tree = new JTree(node);
以下将显示滚动条,并且只允许 8 行可见 −
tree.setVisibleRowCount(8); JOptionPane.showMessageDialog(null, new JScrollPane(tree));
以下是自动调整 JTree 大小的示例−
示例
package my; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; public class SwingDemo { public static void main(String[] args) throws Exception { JFrame frame = new JFrame("Demo"); DefaultMutableTreeNode node = new DefaultMutableTreeNode("Project"); DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("App"); DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Website"); DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("WebApp"); node.add(node1); node.add(node2); node.add(node3); DefaultMutableTreeNode one = new DefaultMutableTreeNode("Learning website"); DefaultMutableTreeNode two = new DefaultMutableTreeNode("Business website"); DefaultMutableTreeNode three = new DefaultMutableTreeNode("News publishing website"); DefaultMutableTreeNode four = new DefaultMutableTreeNode("Android app"); DefaultMutableTreeNode five = new DefaultMutableTreeNode("iOS app"); DefaultMutableTreeNode six = new DefaultMutableTreeNode("Editor WebApp"); node1.add(one); node1.add(two); node1.add(three); node2.add(four); node2.add(five); node3.add(six); JTree tree = new JTree(node); frame.add(tree); tree.setVisibleRowCount(8); JOptionPane.showMessageDialog(null, new JScrollPane(tree)); } }
输出
现在,当您单击每个节点时,子节点将显示出来。在扩展可见行数时,将出现一个 ScrollBar 来调整 TREE 的大小−