如何在 Java 中自動調整 JTree 的大小


要在 Java 中自動調整 JTree 的大小,請使用 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));
   }
}

輸出

現在,如果單擊每個節點,則會出現子節點。在擴充套件可見行數後,會出現一個捲軸來調整 TREE 的大小 -

更新於:2019 年 7 月 30 日

240 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告