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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавление новых листьев к дереву 
:(
    Опции темы
4eJIoBekMoJIekyJIa
Дата 18.7.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



есть дерево к нему при нажатии кнопки должен добавиться лист, но почемуто не добавляется что не так?
Код

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.JTree;

public class testFrame extends JFrame implements ActionListener{

    private JPanel jContentPane = null;

    private JTree jTree = null;

    private JScrollPane jScrollPane = null; 
    
    public testFrame() {
        super();
        jTree = new JTree(new Object[]{});
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("11");
        root.add(new DefaultMutableTreeNode("22"));
        jTree.setModel(new DefaultTreeModel(root));

        jScrollPane = new JScrollPane();
        jScrollPane.setViewportView(jTree);
    
        JButton jButton = new JButton("push me");
        jButton.addActionListener(this);
        jContentPane = new JPanel();
        jContentPane.setLayout(new BorderLayout());
        jContentPane.add(jScrollPane, BorderLayout.CENTER);
        jContentPane.add(jButton, BorderLayout.SOUTH);
        this.setSize(300, 300);
        this.setContentPane(jContentPane);
        this.setTitle("JFrame");
    }
    public void actionPerformed(ActionEvent e) {
        ((DefaultMutableTreeNode)jTree.getModel().getRoot()).add(new DefaultMutableTreeNode("33"));
    }
    public static void main(String[] args) {
        testFrame frm = new testFrame();
        frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
        frm.setVisible(true);
    }
}

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



делай через модель
Код

    public void actionPerformed(ActionEvent e) {
          DefaultTreeModel model = (DefaultTreeModel)jTree.getModel();
          model.insertNodeInto(new DefaultMutableTreeNode("33"),
                               (DefaultMutableTreeNode)model.getRoot(), 0);
    }


еще забыл написать - конструктор дерева исправь
Код

        jTree = new JTree();


Это сообщение отредактировал(а) dorogoyIV - 18.7.2008, 14:15
PM MAIL   Вверх
4eJIoBekMoJIekyJIa
Дата 18.7.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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




Цитата(dorogoyIV @  18.7.2008,  14:10 Найти цитируемый пост)
делай через модель

спасибо



Цитата(dorogoyIV @  18.7.2008,  14:10 Найти цитируемый пост)

еще забыл написать - конструктор дерева исправь

почему вот он 
Код

22:  jTree = new JTree(new Object[]{});

--------------------
PM MAIL   Вверх
dorogoyIV
Дата 18.7.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



Цитата(4eJIoBekMoJIekyJIa @  18.7.2008,  15:08 Найти цитируемый пост)
почему вот он

ну да, только дальше по коду ты ставишь свою модель на дерево, поэтому напиши пустой конструктор и не мучайся  smile 
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.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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