Как автоматически изменить размер объекта JTree? - PullRequest
3 голосов
/ 15 июля 2011

Я пытаюсь получить объект JTree для динамического изменения размера при расширении узла.По умолчанию область объекта является постоянной, а при расширении нижняя часть дерева выходит из поля зрения, если только размер окна также не изменяется.Как мне это исправить?

Ответы [ 2 ]

4 голосов
/ 15 июля 2011

Поместите JTree в JScrollPane.


например. (включая наконечник мудреца Трашгода)

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

3 голосов
/ 15 июля 2011

Метод setVisibleRowCount() для JTree особенно полезен в сочетании с JScrollPane, предложенным @Andrew Thompson.

...