Ich habe versucht, eine Nummer für jede Zeile in meinem Baum hinzuzufügen. Der Baum und seine Nummerierung funktioniert, aber nicht so gut. Gibt es andere Möglichkeiten, dies zu implementieren? Denn wenn der Baumknoten erweitert wird, muss ich den ganzen erweiterten Baumknoten bekommen und seine Nummerierung erhöhen. Ich habe auch den TreeViewer verwendet, um den Baum zu erstellen.So erstellen Sie einen JFace TreeViewer mit Zeilennummerierung
// base container
Composite composite = new Composite((Composite) parent, SWT.NONE);
composite.setLayout(new GridLayout(2, false));
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
// The container for numbering in the tree
Composite numComposite = new Composite(composite, SWT.NONE);
numComposite.setLayout(new FillLayout(SWT.VERTICAL));
numComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
// the tree container
MyTree tree = new MyTree(composite);
tree.setContentProvider(new ContentProvider());
Label test = new Label(numComposite, SWT.NONE);
test.setText("1");
test = new Label(numComposite, SWT.NONE);
test.setText("2");
test = new Label(numComposite, SWT.NONE);
test.setText("3");
test = new Label(numComposite, SWT.NONE);
test.setText("4");
test = new Label(numComposite, SWT.NONE);
test.setText("5");
Die Verwendung separater Beschriftungen führt zu Ausrichtungsproblemen, da nicht garantiert werden kann, dass die Höhe der Baumreihen mit den Höhen/Abständen der Beschriftungen übereinstimmt - und die Anzahl der Plattformen variiert.Selbst in Ihrem Bild verrutscht die Ausrichtung bereits. Ich kann mir keinen guten Weg vorstellen, dies zu tun. –
Mit 'MyTree' möchte ich daran erinnern, dass [SWT-Steuerelemente nicht unterklassifiziert sein sollen] (http://stackoverflow.com/questions/4264983/why-is-subclassing-not-allowed-for-many-of) -die-swt-Kontrollen). –
Das [Nebula Grid] (http://www.eclipse.org/nebula/widgets/grid/grid.php) könnte einen Blick wert sein. Es funktioniert mit der Reihennummerierung, aber vielleicht nicht so, wie Sie es gerne hätten. Es nummeriert Elemente basierend auf ihrer Position des vollständig expandierten Baums anstatt nur die sichtbaren Elemente von 1 bis n zu nummerieren. – Baz