JFaceTree

dipolmand2608

Grünschnabel
hallo zusammen,
also ich schreibe gerade an meiner diplomarbeit, problem ist, dass ich mit Java bisher nichts zu tun hatte, weil ich Maschinenbau studiert habe. nun muss baer ein programm zur Lösung des problems her und ich hoffe, dass ihr mir helfen könnt. folgender Code steht bereits( siehe unten) Dabei geht es um einen tree und ich möchte beim anklicken der einzelnen Pfade neue widgets(ApplicationWindow) öffnen. Diese hab ich in unterschiedliche packages gepackt, da es ziemlich viele und unterschiedlich aufgebaute sind. was muss ich nun für einen befehl eingeben, damit sich beim anklicken der einzelnen pfade die dementsprechenden ApplicationWindows öffnen. Und an welcher stelle muss ich sie eingeben.
ich hoffe ihr könnt mir folgen und helfen!
danke
gruß


import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;

public class HelloWorldTree extends ApplicationWindow {

public HelloWorldTree() {
super(null);
}

public static void main(String[] a) {
HelloWorldTree hw = new HelloWorldTree();
hw.setBlockOnOpen(true);
hw.open();
Display.getCurrent().dispose();
}

@Override
protected Control createContents(Composite parent) {
getShell().setText("Parametereingabe");
Composite inhalt = new Composite(parent, SWT.NONE);
GridLayout gridLayout = new GridLayout(1, false);
inhalt.setLayout(gridLayout);

Location root = createData();
TreeViewer tv = new TreeViewer(inhalt);
tv.setContentProvider(new LocationContentProvider());
tv.setLabelProvider(new LocationLabelProvider());
tv.setInput(root);
GridData gd = new GridData(GridData.FILL_BOTH);
tv.getTree().setLayoutData(gd);

tv.addPostSelectionChangedListener(new ISelectionChangedListener() {

public void selectionChanged(SelectionChangedEvent event) {
System.out.println("addPostSelectionChangedListener");

}

});
tv.addSelectionChangedListener(new ISelectionChangedListener() {

public void selectionChanged(SelectionChangedEvent event) {
System.out.println("addSelectionChangedListener");
Object firstElement = ((TreeSelection) event.getSelection()).getFirstElement();
ISelection selection = ((TreeViewer) event.getSelectionProvider()).getSelection();

}

});

parent.setSize(1300, 900);
// parent.pack();
return inhalt;
}

private Location createData() {
Location root = new Location("Geometrie", null);
new Location("Aussendurchmesser", root);
Location r12 = new Location("Raum 1.2", root);
new Location("Innendurchmesser", r12);
return root;
}



}
 
Zurück