RCP - SWT :: Scrollbars in einer View

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe ein Problem mit den Scrollbars in einer Eclipse RCP Anwendung. Ich möchte in einer Eclipse-View Scrollbars anzeigen um somit den Inhalt der View Scrollbar zu machen.

Ich habs über 2 Wege versucht, über eine Composite mit SWT.V_SCROLL sowie direkt über eine ScrolledComposite - hat beides mit unterschiedlichen Problemen nicht funktioniert.

Hier mal die Klassen mit dem ersten Versuch über eine Composite:

Code:
public class TestViewPart extends ViewPart{

	private static TestViewComposite testViewComposite;

	public void createPartControl(Composite parent) {
		testViewComposite = new TestViewComposite(parent, SWT.V_SCROLL);	
	}

	public void setFocus() {
		testViewComposite.setFocus();
	}
	
	public static TestViewComposite getTestViewComposite() {
		return testViewComposite;
	}

Das wäre das Composite, welches gescrollt werden sollte - die Buttons sind nur mal Testinhalt, da kommt eigentlich viel mehr, aber darum gehts ja hier nicht.
Code:
public class TestViewComposite extends Composite
implements PropertyChangeListener{
	
	public TestViewComposite(final Composite parent, int style) {
		super(parent, style);

		GridLayout gridLayout = new GridLayout(1, true);
		this.setLayout(gridLayout);
                //Test-Inhalt
		for(int i = 1; i < 15; i++) new Button(this, SWT.PUSH).setText("Blubber");
	}
Mir wird zwar eine Scrollbar angezeigt, jedoch scrollt diese nicht den Inhalt des TestViewComposite - beim bewegen des Scrollbalken tut sich gar nichts... :roll:

Nach dem lesen einiger Thread hier im Forum :### bin ich auch auf das ScrolledComposite gestoßen, dann müsste der Code doch so ausseheh, wenn ich das richtig verstanden habe...:

Code:
public class TestViewPart extends ViewPart{

	private static TestViewComposite testViewComposite;

	public void createPartControl(Composite parent) {
		ScrolledComposite sc = new ScrolledComposite(parent, SWT.V_SCROLL);
		sc.setLayoutData(new GridData(GridData.FILL_BOTH)); 
		sc.setExpandVertical(true);
		testViewComposite = new TestViewComposite(parent, SWT.BORDER);
		sc.setContent(testViewComposite);	
	}

	public void setFocus() {
		testViewComposite.setFocus();
	}
	
	public static TestViewComposite getTestViewComposite() {
		return testViewComposite;
	}

Hier habe ich nun ein anderes Problem - mir wird die ScrollBar gar nicht erst angezeigt...

Ich hoffe ich hab mich trotz der frühen Uhrzeit verständlich ausgedrückt und ihr könnt mir helfen, da ich den Fehler einfach nicht finde ???:L

(Falls das in die Rubrik RCP-Entwicklung gehört, bitte verschieben, aber ich denk es ist wohl doch eher ein SWT (Verständnis-) Problem)
 

Wildcard

Top Contributor
Code:
   public void createPartControl(Composite parent) {
      ScrolledComposite sc = new ScrolledComposite(parent, SWT.V_SCROLL);
      sc.setLayoutData(new GridData(GridData.FILL_BOTH));
      sc.setExpandVertical(true);
      testViewComposite = new TestViewComposite(sc, SWT.BORDER);
      sc.setContent(testViewComposite);   
   }
 
G

Guest

Gast
Danke für deine Antwort Wildcard,

das hatte ich schon versucht - wenn ich der testViewComposite das ScrolledComposite als Parent mitgebe, wird mir in der View gar nichts angezeigt. -> Keine Scrollbar und auch die Buttons, die ich im testViewComposite erstelle sind nicht sichtbar... :cry:
 

Wildcard

Top Contributor
Entweder braucht das ScrolledComposite ein Layout, oder der Inhalt eine Größe, such es dir aus.
 
G

Guest

Gast
Wenn ich die API von SWT richtig verstehe, kann man einem ScrolledComposite kein Layout zuweisen bzw. es bringt nicht wirklich etwas, dies zutun:

/**
* Sets the layout which is associated with the receiver to be
* the argument which may be null.
*


* Note: No Layout can be set on this Control because it already
* manages the size and position of its children.
* </p>
*
* @param layout the receiver's new layout or null
*
* @exception SWTException <ul>
* [*]ERROR_WIDGET_DISPOSED - if the receiver has been disposed
* [*]ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
* [/list]
*/
public void setLayout (Layout layout) {
checkWidget();
return;
}

Habs deswegen mal mit deinem anderen Tipp versucht, die Größedes Inhalts zu setzen:

Code:
public void createPartControl(Composite parent) {
      ScrolledComposite sc = new ScrolledComposite(parent, SWT.V_SCROLL);
      sc.setExpandVertical(true);
      testViewComposite = new TestViewComposite(sc, SWT.BORDER);
      testViewComposite.setSize(100, 100);
      sc.setContent(testViewComposite);   
   }

Allerdings hab ich nun keine Scrollbar an der Seite... :roll:
Durch ein
Code:
sc.setAlwaysShowScrollBars(true);
kann ich die Vertikale Scrollbar zwar dazu zwingen zu erscheinen - allerdings ist sie ausgegraut, also disabled...

Das Ding macht mich noch Wahnsinnig - und das am frühen morgen :autsch:
 
G

Guest

Gast
Na ja, ich kann ja die View in Eclipse beliebig verkleinern - dann müsste doch die ScrolledComposite in der Größe angepasst werden...
Wenn ich die View groß genug ziehe, sind alle zu sehen.
Wenn ich die View aber verkleiner, sind nicht mehr alle Buttons sichtbar, aber die Scrollbar interessiert das wohl nicht...
 
G

Guest

Gast
Danke für den Link, aber die Snippets zum ScrolledComposite hab ich mir schon alle durchgeschaut und daran hab ich mich ja eigentlich bei der Implementierung auch orientiert - deshalb wundert es mich ja umso mehr, warum das ganze nicht funktioniert... :roll:

Kann es vielleicht irgendwie damit zusammenhängen, dass der ViewPart dem testViewComposite mehr Platz einräumt, als eigentlich sichtbar ist und dieScrollbar deswegen denkt, dass ja alles so weit in Ordnung ist und sich somit aus der ganzen Sache raushält...?
 
G

Guest

Gast
Na ja, die Methode:

Code:
public void createPartControl(Composite parent) {
wird ja durch das Eclipse RCP selbst irgendwann bei der initialisierung aufgerufen - explizit hab ich da kein Layout gesetzt, aber laut debugger hat der Parent ein FillLayout...
Sollte man daran eventuell mal drehen ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
H Swing JScrollPane bekommt keine ScrollBars AWT, Swing, JavaFX & SWT 5
R Scrollbars an jFrame AWT, Swing, JavaFX & SWT 3
V AWT Scrollbars in dynamischem JPanel? AWT, Swing, JavaFX & SWT 4
D Swing Problem mit Scrollbars in einem JPanel eines JWindows AWT, Swing, JavaFX & SWT 4
B JScrollbarPane zeigt keine scrollbars AWT, Swing, JavaFX & SWT 2
J JScrollPane aber Scrollbars nicht sichtbar! *grrrrr* AWT, Swing, JavaFX & SWT 10
K JTextArea und ScrollBars AWT, Swing, JavaFX & SWT 2
T Auf Einblenden von Scrollbars reagieren AWT, Swing, JavaFX & SWT 9
T Warum keine ScrollBars in diesem ScrollPane? AWT, Swing, JavaFX & SWT 3
M JTable zeigt keine Scrollbars bei JScrollpaneeinbettung AWT, Swing, JavaFX & SWT 2
S Scrollbars hinzufügen AWT, Swing, JavaFX & SWT 7
D Scrollbars funktionieren nicht in Tabelle AWT, Swing, JavaFX & SWT 4
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
MiMa Selektion aus einer ListView AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
D JavaFX Einbinden einer .fxml AWT, Swing, JavaFX & SWT 1
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
A Prüfung einer Eingabe auf Gleitkommazahl AWT, Swing, JavaFX & SWT 5
J Suchmaschine einer Datenbank AWT, Swing, JavaFX & SWT 5
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
M Auswahl aus einer ListView AWT, Swing, JavaFX & SWT 3
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
C JavaFX Tief setzen in der Überschrift einer Tabellenspalte AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben