SWT Tree

darksmilie

Erfahrenes Mitglied
Hi

Ich möchte einen, bzw. habe einen Tree aus Objekten erstellt. Das klappt auch alles soweit nur mein einziges hindernis ist es ein Listener zu schreiben der merkt, wenn ich in der 2.ten itemreihe bin.

Code:
Testdaten test = new Testdaten();
		List configlist = test.getConfigtestdaten();
		List categorylist = test.getCategorytestdaten();
		
		GridLayout gl = new GridLayout(1, true);
		parent.setLayout(gl);
		
		
		Tree tree = new Tree(parent, SWT.BORDER | SWT.SINGLE );
		tree.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));		
		for(int i = 0; i < configlist.size(); i++){
			Configuration con = (Configuration)configlist.get(i);
			final TreeItem treeItem = new TreeItem(tree, SWT.NULL);
			treeItem.setText(con.getConfigurationname());	
			treeItem.setData(con);
			for(int j = 0; j < categorylist.size(); j++){
				Category cate = (Category)categorylist.get(j);
				if(cate.getConfigurationID() == con.getConfgurationID()){
					final TreeItem treeItem2 = new TreeItem(treeItem, SWT.NULL);
					treeItem2.setText(cate.getCategoryname());	
					treeItem2.setData(cate);					
				}
				
			}
		}
		tree.addSelectionListener(new SelectionListener(){
			public void widgetSelected(SelectionEvent e) {
			}

			public void widgetDefaultSelected(SelectionEvent e) {
				TreeItem item = (TreeItem) e.item;
				Configuration con = (Configuration)item.getData();				
				System.out.println(con.getConfigurationname());
			}
		});

Wenn ich ein doppelklick auf die Config mache, bekomme ich über den Listen auch das richtige Objekt zurück, aber weiss leider nicht wie das mit der Caregory machen soll.
 
Zurück