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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строка инициализации для конт. меню в дереве 
:(
    Опции темы
XClan
Дата 2.2.2004, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Как присвоить команду для "Stop", "Start", "Status" в конт.меню jTree?
Имеется :
Код

       m_popup = new JPopupMenu();
       m_popup.add("Stop");
       m_popup.add("Start");
       m_popup.add("Status");
       jTree1.add(m_popup);
       jTree1.setModel(treeModel);
       jTree1.setAutoscrolls(true);
       jTree1.addMouseListener(new java.awt.event.MouseAdapter() {
           public void mousePressed(java.awt.event.MouseEvent evt) {
               jTree1MousePressed(evt);
           }
           public void mouseReleased(java.awt.event.MouseEvent evt) {
               jTree1MouseReleased(evt);
           }
       });



Это сообщение отредактировал(а) XClan - 3.2.2004, 12:32


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
AntonSaburov
Дата 3.2.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Лови примерчик:

Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class My extends JFrame
{
 JTree m_tree = null;
 JPopupMenu m_popup = null;

 public My()
 {
   getContentPane().setLayout(new BorderLayout());
 
   m_tree = new JTree();

   m_popup = new JPopupMenu();
   m_popup.add(new AbstractAction("Start") {
       public void actionPerformed(ActionEvent e) {
           JOptionPane.showMessageDialog(null, "Start");
       }
   });
   m_popup.add(new AbstractAction("Stop") {
       public void actionPerformed(ActionEvent e) {
           JOptionPane.showMessageDialog(null, "Stop");
       }
   });
   m_popup.add(new AbstractAction("Pause") {
       public void actionPerformed(ActionEvent e) {
           String s = JOptionPane.showInputDialog(null, "Pause");
           if(s==null)
               System.out.println("Cancel pressed");
       }
   });
   m_tree.add(m_popup);
   m_tree.addMouseListener(new PopupTrigger());
   getContentPane().add(new JScrollPane(m_tree));
   setBounds(100,100,200,300);
 }

 class PopupTrigger extends MouseAdapter
 {
   public void mouseReleased(MouseEvent e)
   {
     if(e.isPopupTrigger())
     {
       int x = e.getX();
       int y = e.getY();
       m_popup.show(m_tree, x, y);
     }
   }
 }


 public static void main(String[] args)
 {
   My my = new My();
   my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   my.setVisible(true);
 }
}

PM MAIL WWW ICQ   Вверх
ElectricalStorm
Дата 4.2.2004, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



AntonSaburov взял Ваш пример посмотреть
все работает но ... я понять не могу откуда заполненое дерево
ведь нету ничего похожего на
Код

DefaultMutableTreeNode node  = new DefaultMutableTreeNode("Node ");
parent.add(node);


скажите откуда ? smile.gif


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
XClan
Дата 4.2.2004, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это я взял у AntonSaburov пример..... тут кусок для примера, чтобы я понял... smile.gif

Это сообщение отредактировал(а) XClan - 4.2.2004, 14:01


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
AntonSaburov
Дата 4.2.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата
скажите откуда ?

Если дерево изначально ничем не заполнять, то оно заполняется по умолчанию тем, что видно в примере. Почему сие сделано - к разработчикам. Но это хорошо видно при просмотре исходников

Код

/**
* Creates and returns a sample <code>TreeModel</code>.
* Used primarily for beanbuilders to show something interesting.
*
* @return the default <code>TreeModel</code>
*/
protected static TreeModel getDefaultTreeModel()
{
   DefaultMutableTreeNode      root = new DefaultMutableTreeNode("JTree");
   DefaultMutableTreeNode      parent;

   parent = new DefaultMutableTreeNode("colors");
   root.add(parent);
   parent.add(new DefaultMutableTreeNode("blue"));
   parent.add(new DefaultMutableTreeNode("violet"));
   parent.add(new DefaultMutableTreeNode("red"));
   parent.add(new DefaultMutableTreeNode("yellow"));

   parent = new DefaultMutableTreeNode("sports");
   root.add(parent);
   parent.add(new DefaultMutableTreeNode("basketball"));
   parent.add(new DefaultMutableTreeNode("soccer"));
   parent.add(new DefaultMutableTreeNode("football"));
   parent.add(new DefaultMutableTreeNode("hockey"));

   parent = new DefaultMutableTreeNode("food");
   root.add(parent);
   parent.add(new DefaultMutableTreeNode("hot dogs"));
   parent.add(new DefaultMutableTreeNode("pizza"));
   parent.add(new DefaultMutableTreeNode("ravioli"));
   parent.add(new DefaultMutableTreeNode("bananas"));
   return new DefaultTreeModel(root);
}

/**
* Returns a <code>JTree</code> with a sample model.
* The default model used by the tree defines a leaf node as any node
* without children.
*
* @see DefaultTreeModel#asksAllowsChildren
*/
public JTree()
{
   this(getDefaultTreeModel());
}

PM MAIL WWW ICQ   Вверх
ElectricalStorm
Дата 4.2.2004, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



спасибо все понятно smile.gif


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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