tree action

Status
Nicht offen für weitere Antworten.

CeRbErUs2k

Mitglied
Kann mir jemand sagen wie ich in einem tree einen ActionListener einbaue?
also wenn ich auf ein untermenu vom tree klicke sollte eine aktion ausgeführt werden. wie mache ich das?
 

AlArenal

Top Contributor
Variante 1:
Du machst dir nen eigenen Tree.

Code:
public class MyTree 
extends JTree 
implements MouseListener {

    public MyTree() {
        super();
        addMouseListener(this);
    }

...


    /**
     * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
     */
    public void mouseClicked(MouseEvent e) {

       /* hier kommt dein Code rein */

    }
    
    /**
     * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
     */
    public void mouseEntered(MouseEvent e) {}
    
    /**
     * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
     */
    public void mouseExited(MouseEvent e) {}
    
    /**
     * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
     */
    public void mousePressed(MouseEvent e) {}
    
    /**
     * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
     */
    public void mouseReleased(MouseEvent e) {}
}

Variante 2:
Den MouseListener in eine eigene Klasse packen und der Instanz des von dir verwendeten Trees mit addMouseListener() hinzufügen.
 

AlArenal

Top Contributor
Stimmt.. sowas wie 3. ist natürlich auch naheliegend. Meine Varianten hatte ich letztens zum Zweck genutzt ein Popup-Menü anzuzeigen und da brauche ich nen MouseEvent um die Taste und genaue Position (Pixel) abzufragen.
 

CeRbErUs2k

Mitglied
irgendwie hab ich auf java.sun nix gefunden wie man das geanu macht! ich hoffe ihr könnt mir da ein bisschen unter die arme greiffen!
das problem ist immer noch das selbe!

Code:
import java.awt.*; 
import java.awt.event.*;
import java.util.Hashtable;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionListener;

public class GUIFrame extends Frame implements ActionListener { 
	MenuBar menubar = new MenuBar(); 
	Menu menu; 
	Menu submenu; 
	MenuItem menuItem; 
	MenuItem closeItem; 
	MenuItem clientsItem; 
	MenuItem aclientsItem; 
	MenuItem dclientsItem; 
	List list = new List();
	List listA = new List();
	List listD = new List();
	Panel p = new Panel();
	Panel p2 = new Panel();
	Panel p3 = new Panel();
	JTree tree;
	
	GUIFrame() { 
		setLayout(new BorderLayout()); 
		
		p.setLayout(new BorderLayout());
		add(p);
		//p.setSize(695,600);
		//p.add(new Nexos(),BorderLayout.CENTER); 
		add(p3, BorderLayout.WEST);
		String[][] sampleData = {
				{"Clients"}, {"Active Clients", "Deact Clients", "All Clients"},
				{"Moudules"}, {"List Modules"},
		};
		
		
		Hashtable h = new Hashtable();
		
		for (int i = 0; i < sampleData.length; i+=2) {
			h.put(sampleData[i][0], sampleData[i + 1]);
		}
		tree = new JTree(h);
		p3.setLayout(new BorderLayout());
		p3.setSize(200,600);
		p3.add(tree, BorderLayout.CENTER);
		p3.setVisible(true);
		
		addWindowListener(new WindowAdapter () { 
			public void windowClosing(WindowEvent e) { 
				System.exit(0); 
			} 
		}); 
		
		
		//erstes menu 
		menu = new Menu("File");
		menubar.add(menu); 
		closeItem = new MenuItem("Close"); 
		closeItem.addActionListener(this); 
		menu.add(closeItem); 
		
		//zweites menu 
		menu = new Menu("List");
		menubar.add(menu);
		submenu = new Menu("Clients"); 
		menu.add(submenu); 
		
		//untermenu Clients
		clientsItem = new MenuItem("All Clients");
		clientsItem.addActionListener(this);
		submenu.add(clientsItem);
		aclientsItem = new MenuItem("Active Clients");
		aclientsItem.addActionListener(this);
		submenu.add(aclientsItem);
		dclientsItem = new MenuItem("Deactive Clients");
		dclientsItem.addActionListener(this);
		submenu.add(dclientsItem);
		
		setMenuBar(menubar); 
		setTitle ("Nexocor"); 
		setSize(895, 600); 
		setLocationRelativeTo(null); 
		setVisible(true);
	}  
	
	//frame close
	public void actionPerformed(ActionEvent e) { 
		if (e.getSource() == closeItem) { 
			setVisible(false); 
			dispose(); 
			System.exit(0); 
		} 
		else if (e.getSource() == clientsItem) {
			clientFrame();
		}
		else if(e.getSource() == aclientsItem) {
			aclientFrame();
		}
		else if(e.getSource() == dclientsItem) {
			dclientFrame();
		}
	}
	//ausgabe der der clients
	public String getInhalt() {
		InputClient clist = new InputClient();
		System.out.println(clist.GetNumberOfClients());
		
		Font heading = new Font("Courier", Font.BOLD, 14);
		
		
		list.add("ALL CLIENTS");
		list.add("-----------");
		list.add(" ");
		
		for (int i = 0; i < clist.GetNumberOfClients(); ++i) {
			System.out.println("processing client" + i);
			
			Client c = clist.GetClient(i);
			list.add("install client hostname:     " + c.installClientHostname);
			list.add("client name:                 " + c.clientName);
			list.add("architecture:                " + c.arch);
			list.add("release:                     " + c.release);
			list.add("directory:                   " + c.directory);
			list.add("activation date:             " + c.activationDate);
			list.add("activator:                   " + c.activator);
			list.add("*************************************");
		}
		
		return list.toString();
	}
	//ausgabe der aktiven clients
	public String getInhaltA() {
		
		InputClient clist = new InputClient();
		System.out.println(clist.GetNumberOfClients());
		
		Font heading = new Font("Courier", Font.BOLD, 14);
		
		
		list.add("ACTIVE CLIENTS");
		list.add("-----------");
		list.add(" ");
		
		for (int i = 0; i < clist.GetNumberOfActClients(); ++i) {
			System.out.println("processing client" + i);
			
			
			Client c = clist.GetActClient(i);
			list.add("install client hostname:     " + c.installClientHostname);
			list.add("client name:                 " + c.clientName);
			list.add("architecture:                " + c.arch);
			list.add("release:                     " + c.release);
			list.add("directory:                   " + c.directory);
			list.add("activation date:             " + c.activationDate);
			list.add("activator:                   " + c.activator);
			list.add("*************************************");
		}
		
		return list.toString();
	}
	//ausgabe der deaktivierten clients
	public String getInhaltD() {
		
		InputClient clist = new InputClient();
		System.out.println(clist.GetNumberOfClients());
		
		Font heading = new Font("Courier", Font.BOLD, 14);
		
		//setFont(heading);
		list.add("DEACT CLIENTS");
		list.add("-----------");
		list.add(" ");
		
		for (int i = 0; i < clist.GetNumberOfDeactClients(); ++i) {
			System.out.println("processing client" + i);
			
			
			Client c = clist.GetDeactClient(i);
			list.add("install client hostname:     " + c.installClientHostname);
			list.add("client name:                 " + c.clientName);
			list.add("architecture:                " + c.arch);
			list.add("release:                     " + c.release);
			list.add("directory:                   " + c.directory);
			list.add("activation date:             " + c.activationDate);
			list.add("activator:                   " + c.activator);
			list.add("*************************************");
		}
		
		return list.toString();
	}
	//fenster generierung für clients
	public void clientFrame() {
		list.removeAll();
		list.setFont(new Font("Courier", Font.BOLD, 14));
		list.setBackground(Color.white);
		list.setSize(795, 500);
		getInhalt();
		
		p.setVisible(false);
		add(p2);
		p2.setLayout(new BorderLayout());
		p2.remove(list);
		p2.add(list, BorderLayout.CENTER);
		list.setVisible(true);
		validate();
	}
	//  fenster generierung für aktive clients
	public void aclientFrame() {
		list.removeAll();
		list.setFont(new Font("Courier", Font.BOLD, 14));
		list.setBackground(Color.white);
		list.setSize(795, 500);
		getInhaltA();
		
		p.setVisible(false);
		add(p2);
		p2.setLayout(new BorderLayout());
		p2.remove(list);
		p2.add(list, BorderLayout.CENTER);
		list.setVisible(true);
		validate();
	}
	//  fenster generierung für deaktivierte clients
	public void dclientFrame() {
		list.removeAll();
		list.setFont(new Font("Courier", Font.BOLD, 14));
		list.setBackground(Color.white);
		list.setSize(795, 500);
		getInhaltD();
		
		p.setVisible(false);
		add(p2);
		p2.setLayout(new BorderLayout());
		p2.remove(this);
		p2.add(list, BorderLayout.CENTER);
		list.setVisible(true);
		validate();
	}
	
	public static void main(String [] args) { 
		new GUIFrame(); 
		
	}
}

/*class Nexos extends Canvas{
 public void paint (Graphics g) { 
 g.setColor(Color.white); 
 g.fillRect(0,0,895,1000); 
 g.setColor(new Color(25,30,114)); 
 g.fillRect(0,0,600,115); 
 g.setColor(Color.red); 
 g.fillRect(655,0,240,115); 
 g.setColor(new Color(25,30,114)); 
 g.setFont(new Font("Frutiger" ,Font.BOLD, 160)); 
 g.drawString("nexocor" ,80,400); 
 g.setColor(Color.red); 
 g.setFont(new Font("Frutiger" , Font.BOLD, 30)); 
 g.drawString("Smart Engineering Server",365,450); 
	 } 
}*/
[/code]
 

CeRbErUs2k

Mitglied
na für die elemente im menu! mit dem tree sollten die gleichen optionen wie im menu dann auch noch angeklickt werden können. ich hoffe is nich zu schlimm programmiert hab noch nicht so erfahrungen!
 

AlArenal

Top Contributor
Mich gruselt der Code schon so ziemlich... Ich kann auch nicht erkennen, dass du mal unsere Ideen aufgegriffen hättest....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JavaFX (Tree)TableView korrekt drucken AWT, Swing, JavaFX & SWT 1
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
I JavaFX BorderPane ins Tree einfügen AWT, Swing, JavaFX & SWT 11
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
T SWT Warum ist mein 1.Tree Node selektiert? AWT, Swing, JavaFX & SWT 11
O Tree path expandieren AWT, Swing, JavaFX & SWT 2
Madlip SWT Tree mit einen Klick alles ausklappen AWT, Swing, JavaFX & SWT 3
J Knotenselect von bestimmten Knoten im Tree AWT, Swing, JavaFX & SWT 2
L SWT tree elemente markieren AWT, Swing, JavaFX & SWT 4
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
L SWT Tree reagieren BEVOR selektiert wurde AWT, Swing, JavaFX & SWT 2
S SWT tree collapse AWT, Swing, JavaFX & SWT 4
W SWT Resize Tree-Element AWT, Swing, JavaFX & SWT 3
S Dropdown menu / tree AWT, Swing, JavaFX & SWT 7
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
G Swing Tree wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
A Swing JTree Tree Node löschen AWT, Swing, JavaFX & SWT 2
K SWT und Tree, wie kann ich TreeItem aus einem Tree entfernen? AWT, Swing, JavaFX & SWT 12
G SWT Tree AWT, Swing, JavaFX & SWT 4
S Tree - ArrayList Zuordnung! AWT, Swing, JavaFX & SWT 13
G Bezeichungen im Tree werden durch . gekürzt? AWT, Swing, JavaFX & SWT 5
G Drag And Drop von Component (List, Tree) zum Desktop AWT, Swing, JavaFX & SWT 2
T TREE AWT, Swing, JavaFX & SWT 3
T Tree AWT, Swing, JavaFX & SWT 2
G tree.setSize tut nicht AWT, Swing, JavaFX & SWT 5
S SWT Tree AWT, Swing, JavaFX & SWT 3
U Baum/Tree nach Benutzer anzeigen AWT, Swing, JavaFX & SWT 3
L Renderer mit nativen komponenten in tabelle / tree / list AWT, Swing, JavaFX & SWT 4
R Tree automatisch öffnen AWT, Swing, JavaFX & SWT 7
N Tree automatisch öffnen AWT, Swing, JavaFX & SWT 2
J [SWT] alle Zellen in einem Tree einzeln selektieren AWT, Swing, JavaFX & SWT 2
S TableTree - Tree nicht in erster Spalte AWT, Swing, JavaFX & SWT 5
R Tree-Struktur in einer DB abspeichern AWT, Swing, JavaFX & SWT 15
R Klick in einem Tree erkennen und auswerten AWT, Swing, JavaFX & SWT 6
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
S [S] custom tree componente AWT, Swing, JavaFX & SWT 8
G Tree und expand eines bekannten Pfades AWT, Swing, JavaFX & SWT 5
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
J Tree nur mit Ordner anzeigen? AWT, Swing, JavaFX & SWT 4
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
R Nur Verzeichnisse im Tree? AWT, Swing, JavaFX & SWT 5
G verzeichnis tree erstellen AWT, Swing, JavaFX & SWT 2
V Tree Ausgabe Problem AWT, Swing, JavaFX & SWT 2
M JavaFX Button action abhängigkeit von Tab AWT, Swing, JavaFX & SWT 1
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
Z Befehl Action Event Verlassen AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
3 JComboBox - Action - Auslesen & Umwandeln AWT, Swing, JavaFX & SWT 9
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Action durchführen beim Programm beenden AWT, Swing, JavaFX & SWT 3
K Swing KeyBinding: Action wird nicht ausgelöst AWT, Swing, JavaFX & SWT 3
K Array von einer Action zur anderen bringen AWT, Swing, JavaFX & SWT 7
T action für Button übergeben - bitte um Segen AWT, Swing, JavaFX & SWT 1
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
I Button Action AWT, Swing, JavaFX & SWT 6
C Swing MenuItem feuert Action nur wenn disabled AWT, Swing, JavaFX & SWT 2
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J SWT Rechteck Füllfarbe wird bei Action falsch gefüll AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
D Drag-Action: Innerhalb meiner View? AWT, Swing, JavaFX & SWT 3
alex_fairytail Swing Textfeld Action wenn geschrieben wird? AWT, Swing, JavaFX & SWT 6
R innere Action -> auf äußeres this zugreifen AWT, Swing, JavaFX & SWT 3
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
P Action Event abfangen etwas anders? AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
L ComboBox in Action AWT, Swing, JavaFX & SWT 4
M SWT Jface Action und localised Strings AWT, Swing, JavaFX & SWT 6
I Button Action AWT, Swing, JavaFX & SWT 4
K GUI, Action AWT, Swing, JavaFX & SWT 4
B Frage zu Button-Action AWT, Swing, JavaFX & SWT 3
J Action before actionPerformed! AWT, Swing, JavaFX & SWT 4
S Combo Box action listener AWT, Swing, JavaFX & SWT 2
A Action listener von Button AWT, Swing, JavaFX & SWT 5
K Swing Wie ändere ich die default action für Drag&Drop AWT, Swing, JavaFX & SWT 6
M JButton Action Problem AWT, Swing, JavaFX & SWT 3
K Action.MNEMONIC mit char belegen. AWT, Swing, JavaFX & SWT 2
M Action.DISPLAYED_MNEMONIC_INDEX_KEY geht nicht mehr AWT, Swing, JavaFX & SWT 2
O Action Event auslösen bei unbekanntem JTextField AWT, Swing, JavaFX & SWT 3
G SWT ApplicationActionBarAdvisor Action AWT, Swing, JavaFX & SWT 11
G Action? AWT, Swing, JavaFX & SWT 2
0 (Action)Listener auslagern? AWT, Swing, JavaFX & SWT 9
K kleine frage zum Spinner (bezüglich Action) AWT, Swing, JavaFX & SWT 2
F Problem mit Action Listener in privater inneren Klasse AWT, Swing, JavaFX & SWT 6
S Action Handler JButton AWT, Swing, JavaFX & SWT 15
S Buttons werden nach action grau AWT, Swing, JavaFX & SWT 4
S Action mit 2 verschiednen texten AWT, Swing, JavaFX & SWT 2
A SWT: Action über Hotkey ausführen AWT, Swing, JavaFX & SWT 2
G Action.setCheck(boolean)? AWT, Swing, JavaFX & SWT 6
A Mit der Combobox eine Action auslösen AWT, Swing, JavaFX & SWT 2
X Action aktivieren AWT, Swing, JavaFX & SWT 2
J mehrere Action Buttons mit einer ActionListener Methode AWT, Swing, JavaFX & SWT 7
A Action Listener AWT, Swing, JavaFX & SWT 14
S JMenuBar mit Action belegen! AWT, Swing, JavaFX & SWT 5
R action performed und IOException AWT, Swing, JavaFX & SWT 4
F Wo kann ich eine Action einsetzen? AWT, Swing, JavaFX & SWT 2
F Action ausführen? AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben