2011-07-15 24 views
3

ノードが展開されたときに動的にサイズを変更するJTreeオブジェクトを取得しようとしています。デフォルトでは、オブジェクト領域は一定であり、展開すると、ウィンドウのサイズが変更されない限り、ツリーの下部が表示されなくなります。これをどうやって解決するのですか?JTreeオブジェクトのサイズを自動的に変更する方法は?

+1

http://download.oracle.com/javase/tutorial/uiswing/components/tree.htmlおよびhttp://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.htmlおよびhttp: /www.java2s.com/Code/Java/Swing-JFC/CatalogSwing-JFC.htm – mKorbel

答えて

3

JTreesetVisibleRowCount()方法は@Andrewトンプソンによって示唆JScrollPaneと組み合わせて特に有用です。

+0

+1私は何かがあることを知っていました*私は忘れていました! –

+0

今すぐ完璧に動作します!すばらしいです! –

+0

@Andrew Thompsonの答えは私の小さな追加を進めました。あなたが彼の答えを受け入れることを選んだのであれば、私は満足していますが、私はあなたに任せます。あなたはそれが働いてうれしい! – trashgod

4

JTreeJScrollPaneに入れてください。


E.G. (組み込むtrashgodのセージチップ)

import javax.swing.*; 

public class BasicTree { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(() -> { 
      JTree tree = new JTree(); 
      tree.setVisibleRowCount(10); 

      int rows = tree.getRowCount(); 
      for (int row=rows-1; row>-1; row--) { 
       tree.expandRow(row); 
      } 

      JOptionPane.showMessageDialog(
        null, 
        new JScrollPane(tree)); 
     }); 
    } 
} 

Tree in scrollpane

+2

シンプルですが、あなたのウェブへのリンク、おかげで読んでいただきありがとうございます+1 – mKorbel

+0

私が必要なもの。ありがとう! –

+0

あなたは[sscce](http://sscce.org/)に_short_を入れます! – trashgod

関連する問題