nebula collapsiblebuttons

Status
Nicht offen für weitere Antworten.

AWG

Mitglied
Hallo,

ich habe in eine View die Nebula CollapsibleButtons eingebunden.
Die arbeiten bis auf eine kleinigkeit gut.
Das Problem was ich habe ist, dass wenn das Fenster mit der View öffnet die Buttons nicht angezeigt werden. Erst wenn die View vergrössert/verkleinert oder die CollapsibleBar grössenverändert wird erscheinen sie.
Meine Frage ist nun: Wie erreiche ich das die Bar mit Buttons angezeigt wird beim Fensterstart??

Freue mich auf Hinweise.

LG AWG
 

javimka

Top Contributor
Ist es möglich, dass du die Buttons erst ans Frame anfügst, nachdem du bereits frame.setVisible(true) aufgerufen hast oder dass du nachträglich noch einen LayoutManager Wechsel vollziehst?
 
G

Gast2

Gast
Ist es möglich, dass du die Buttons erst ans Frame anfügst, nachdem du bereits frame.setVisible(true) aufgerufen hast oder dass du nachträglich noch einen LayoutManager Wechsel vollziehst?

Das ist SWT/JFace kein Swing soweit ich das beurteilen kann...

Zeig mal ein bischen Code...
Verusch mal layout() aufzurufen...
 

AWG

Mitglied
Hi,
danke schon mal für die Antworten.
Ich entwickle ein RCP.
Um die Buttons zu erstellen habe ich eine Methode um das Layout der ButtonBar festzulegen:

Java:
private void setCollapsibleBtns(Composite parent) {
		
		bc = new CollapsibleButtons(parent, SWT.BORDER | SWT.CENTER,
				IColorManager.SKIN_BLUE);
		GridData bcBar = new GridData(SWT.FILL|GridData.END | GridData.FILL_HORIZONTAL
				| GridData.VERTICAL_ALIGN_END | GridData.END);

		bc.setLayoutData(bcBar);
		fillButtons(parent);

	}

und rufe zum füllen der Buttons eine weitere Methode auf:

Java:
private void fillButtons(Composite parent) {

			bc.addButton("Text",null,null, null);
	
			bc.addButtonListener(new IButtonListener() {
				public void buttonClicked(CustomButton button, MouseEvent e) {
					setPartName(button.getText());
				}
				public void buttonEnter(CustomButton button, MouseEvent e) {
				}
				public void buttonExit(CustomButton button, MouseEvent e) {
				}
				public void buttonHover(CustomButton button, MouseEvent e) {
				}
			});
		}
	}

Ich habe den Code hier etwas verkürzt. Das erstellen erfolgt mit Daten aus einer Map und innerhalb einer foreach schleife. Denke das es daran nicht liegt.

validate(),revalidate ist nicht möglich

wo wäre der geeigneteste Platz für ein bc.layout()
habe es ausprobiert am ende der fillButtons() methode, war offentsichlich nicht richtig, da der fehler noch immer besteht.

LG
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben