Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокрытие крестика в JTree 
:(
    Опции темы
Tsahes
Дата 5.12.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 5.12.2006

Репутация: нет
Всего: нет



Безуспешно пытаюсь скрыть крестик в JTree при помощи метода setShowsRootHandles. Подскажите, что еще можно сделать?
Вот код примера.

Код

import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.tree.DefaultMutableTreeNode;

public class TreeDemo
    extends JPanel {

    private JTree tree;

    public TreeDemo() {
        super(new GridLayout(1, 0));

        // Наполнение дерева

        DefaultMutableTreeNode top = new DefaultMutableTreeNode("top");
        DefaultMutableTreeNode level1;
        DefaultMutableTreeNode level2;

        top.add(level1 = new DefaultMutableTreeNode("11"));
        top.add(new DefaultMutableTreeNode("12"));
        top.add(new DefaultMutableTreeNode("13"));

        level1.add(level2 = new DefaultMutableTreeNode("21"));
        level1.add(new DefaultMutableTreeNode("22"));

        level2.add(new DefaultMutableTreeNode("31"));
        level2.add(new DefaultMutableTreeNode("32"));
        level2.add(new DefaultMutableTreeNode("33"));

        tree = new JTree(top);

        tree.setRootVisible(false);
        tree.setRowHeight(30);

        // Попытка сокрытия крестика
        tree.setShowsRootHandles(false);

        tree.setPreferredSize(new Dimension(500, 300));

        add(tree);
    }

    private static void createAndShowGUI() {

        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch (Exception e) {
            System.err.println("Couldn't use system look and feel.");
        }

        JFrame frame = new JFrame("TreeDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        TreeDemo newContentPane = new TreeDemo();
        newContentPane.setOpaque(true);
        frame.setContentPane(newContentPane);

        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                createAndShowGUI();
            }
        });
    }
}

PM MAIL   Вверх
powerOn
Дата 5.12.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Вот эта тема не поможет?


Это сообщение отредактировал(а) powerOn - 5.12.2006, 20:00


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Tsahes
Дата 6.12.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 5.12.2006

Репутация: нет
Всего: нет



Да, предварительно читал эту тему.
Как правильно замечено, метод setShowsRootHandles(false) заставляет исчезнуть крестики только узлов первого уровня.
Могу посоветовать всем следующий способ:
Код

JTree tree = new JTree();
BasicTreeUI ui = new BasicTreeUI() {

    public Icon getCollapsedIcon() {
        return null;
    }

    public Icon getExpandedIcon() {
        return null;
    }
};
tree.setUI(ui);
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.