Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem]Odnoszenie się do wyboru JTree


Rekomendowane odpowiedzi

Opublikowano

Witam,

Dziś znowu postanowiłem kontynuować naukę JAVY i dla zabicia czasu zacząłem tworzyć program, który po prostu będzie generował dany kod, ale teraz tutaj nie o tym.

 

W programie zastosowałem komponenty JTree, wygląda to tak

51d86b32653c7.png

 

Dobra ale po co piszę temat?

Nie potrafię odnieść się do danej linijki z JTree, chcę na przykład zrobić gdy wybiorę z zakładki Stwórz Aktora to chcę uruchomić po prostu komunikat (System.out.print), resztą zajmę się sam gdy uda mi się to osiągnąć.

 

Src. tego komponentu to:

 

// TWORZENIE
        JTree tree_1 = new JTree();
        tree_1.setModel(new DefaultTreeModel(
            new DefaultMutableTreeNode("Stw\u00F3rz") {
                {
                    add(new DefaultMutableTreeNode("Aktora"));
                    add(new DefaultMutableTreeNode("Broń"));
                    add(new DefaultMutableTreeNode("Pojazd"));
                }
            }
        ));
        tree_1.setToolTipText("");
        tree_1.setBounds(10, 61, 204, 235);
        frmSimplecmDesign.getContentPane().add(tree_1);

Wszystkie poradniki w "O mnie" i na moim profilu YouTube.


51dd70965ae71.png


!!!HIT!!! -- Pełno klientów na DT nawet na najstarszym kompie bez zamuły!


!!!HIT!!! -- Nowa modyfikacja do Metina FastKill


World of Metin2


Opublikowano

Ech, robię robię i zrobić nie mogę.

Dałem z tego linka kod i nic, jeszcze inny dałem i też nic

 

 

     public void treeWillCollapse(TreeExpansionEvent treeExpansionEvent)
              throws ExpandVetoException {
            TreePath tree_1 = treeExpansionEvent.getPath();
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree_1
                .getLastPathComponent();
            String data = node.getUserObject().toString();
            if (data.equals("aktora")) {
                System.out.println("Tworzenie aktora");
            }
          }

 

Znalazłem też coś takiego ale nie wiem jak się za to zabrać.

 


	How to Write a Tree Selection Listener


To detect when the user selects a node in a tree, you need to register a tree selection listener. Here is an example, taken from the TreeDemo example discussed in Responding to Node Selection, of detecting node selection in a tree that can have at most one node selected at a time:


tree.addTreeSelectionListener(new TreeSelectionListener() {
    public void valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)
                           tree.getLastSelectedPathComponent();

    /* if nothing is selected */ 
        if (node == null) return;

    /* retrieve the node that was selected */ 
        Object nodeInfo = node.getUserObject();
        ...
    /* React to the node selection. */
        ...
    }
});


To specify that the tree should support single selection, the program uses this code:


tree.getSelectionModel().setSelectionMode
        (TreeSelectionModel.SINGLE_TREE_SELECTION);


The TreeSelectionModel interface defines three values for the selection mode:

	
		DISCONTIGUOUS_TREE_SELECTION
	
		This is the default mode for the default tree selection model. With this mode, any combination of nodes can be selected.
	
		SINGLE_TREE_SELECTION
	
		This is the mode used by the preceding example. At most one node can be selected at a time.
	
		CONTIGUOUS_TREE_SELECTION
	
		With this mode, only nodes in adjoining rows can be selected.

 

Albo to ;/

 

     public void actionPerformed(ActionEvent event) {
            DefaultMutableTreeNode selNode = (DefaultMutableTreeNode) tree_1
                .getLastSelectedPathComponent();
            if (selNode != null) {
              TreePath path = new TreePath(nodes);
              tree_1.setSelectionPath(path);
            }
          }
        });

 

 

Problem rozwiązany, tak działa:

 

// TWORZENIE
 //JTree tree_1 = new JTree();
 tree_1 = new JTree();
 tree_1.addTreeSelectionListener(new TreeSelectionListener() {
         public void valueChanged(TreeSelectionEvent arg0) {
             String node = arg0.getNewLeadSelectionPath()
                               .getLastPathComponent().toString();
 
             if (node.equals("Aktora")) {
                 System.out.println("You click on Aktora");
             }
         }
     });

Wszystkie poradniki w "O mnie" i na moim profilu YouTube.


51dd70965ae71.png


!!!HIT!!! -- Pełno klientów na DT nawet na najstarszym kompie bez zamuły!


!!!HIT!!! -- Nowa modyfikacja do Metina FastKill


World of Metin2


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...