Listener für Fenstergröße (SWT)

Status
Nicht offen für weitere Antworten.

fisch

Aktives Mitglied
Hi

ich würde gerne meine Komponenten anpassen, wenn sich die Größe des Fensters ändert. Leider macht das mein GridLayout nicht automatisch, also habe ich es mit Control-Listener der Shell versucht allerdings reagiert die Methode controlResized() gar nicht auf die Größenveränderung des Fensters.

Kann mir einer sagen wie ich informiert werde wenn sich die Fenstergröße verändert hat.
 

ronny

Bekanntes Mitglied
Hallo!

uh, auf keinen fall über listener machen... das funktioniert eh nicht..
dein gridlayout ist dann falsch konfiguriert, bzw. deine griddata der einzelnen
widgets oder container sind nicht auf "größe anpassen" eingestellt:


Code:
                GridData tableData = new GridData();
		
		tableData.grabExcessVerticalSpace = true;
		tableData.verticalAlignment = GridData.FILL;
		tableData.grabExcessHorizontalSpace = true;
		tableData.horizontalAlignment = GridData.FILL;

                //usw.

da musst du sicher noch ein bisschen rumprobieren, aber das anpassen
der größe geht ausschließlich über das Layout.. :wink:
 

fisch

Aktives Mitglied
Hi

muss das Thema nochmal aufgreifen, konnte es leider heute erst ausprobieren und es funktioniert einfach nicht, irgendwie ist GridLayout ein Buch mit sieben Siegel für mich. Also ich habe folgenden Code

Code:
shell	= SWTUtil.getShell();
		GridLayout grid = new GridLayout();
		grid.numColumns = 2;
		grid.marginHeight = 0;
		grid.marginWidth = 1;
		grid.horizontalSpacing = 1;
		grid.verticalSpacing = 0;
		
		shell.setLayout(grid);
		
		GridData data = new GridData();
		data.grabExcessVerticalSpace = true;
		data.verticalAlignment = GridData.FILL;
		data.grabExcessHorizontalSpace = true;
		data.horizontalAlignment = GridData.FILL;
		
		GridData vSpan = new GridData();
		vSpan.grabExcessVerticalSpace = true;
		vSpan.verticalAlignment = GridData.FILL;
		vSpan.grabExcessHorizontalSpace = true;
		vSpan.horizontalAlignment = GridData.FILL;
		vSpan.verticalSpan = 2;
		
		GridData hSpan = new GridData();
		hSpan.grabExcessVerticalSpace = true;
		hSpan.verticalAlignment = GridData.FILL;
		hSpan.grabExcessHorizontalSpace = true;
		hSpan.horizontalAlignment = GridData.FILL;
		hSpan.horizontalSpan = 2;

CoolBar toolBar	= new CoolBar(shell,SWT.HORIZONTAL);
		toolBar.setLayoutData(hSpan);
		Group imageGroup	= new Group(shell,SWT.CENTER|SWT.SHADOW_ETCHED_IN);
		imageGroup.setLayoutData(data);
		textGroup	= new Group(shell,SWT.CENTER|SWT.SHADOW_ETCHED_OUT);
		textGroup.setLayoutData(vSpan);
		soundGroup	= new Group(shell,SWT.CENTER|SWT.SHADOW_ETCHED_IN);
		soundGroup.setLayoutData(data);

und was ich da angezeigt bekomme ist nichts außer meiner Menüleiste, weil ich der kein LayoutData zugewiesen habe, was mach ich denn da falsch??????? :bahnhof:
 

ronny

Bekanntes Mitglied
Hi fisch,

also bei mir funktioniert der code... mit einer kleinen änderung:
das griddata data darf nicht "wiederverwendet werden"... du musst
jedem widget sein eigenes griddata geben...

danach wird bei mir eine shell angezeigt die links 2 group bereiche hat und
rechts einen... alles ändert sich beim resizen, so wie es sich gehört..

zum thema coolbar... solang da keine actions oda sonstiges
drin ist, wird da auch afaik nix angezeigt...

hier mal ein tutorial zum einstieg, vielleicht hilft dir das zum thema windowaufbau
(Menu, Toolbar, Statusline, Actions, etc.) eventuell etwas weiter:

http://www-128.ibm.com/developerworks/opensource/library/os-ecgui1/
http://www-128.ibm.com/developerworks/opensource/library/os-ecgui2/
http://www-128.ibm.com/developerworks/opensource/library/os-ecgui3/

nochmal:

mit ...#setLayout(irgendeinlayout) setzt du dem container (shell ist auch einer!) ein layout...
alle widgets, die du dem container addest, sollten ein layoutdata bekommen,
damit es weiß wie es sich im container verhalten soll... (grabhorizontalsize und solche
geschichten..)

das ganze gilt natürlich auch für containern IN containern!
also z. B. deine Group ist ein container im container...
im parent verhält es sich, wie dein griddata beschreibt...
aber, du musst dann z. b. der group auch wieder ein layout mitgeben (group.setLayout(...)),
damit die widgets in der group sich richtig anpassen können...
und dort brauchen die widgets wieder layoutdatas damit die wissen,
wie sie sich im container (der group) verhalten sollen... undsoweiter...

das ist am anfang garnet soooo trivial.. aba mit etwas übung wird das schon.. :D

ansonsten heißts bei den layoutmanagern nich die geduld verlieren... :wink:
 

fisch

Aktives Mitglied
danke das man für jedes element eine eigene GridData benötigt war mir bislang unbekannt, jetzt funktionierts, werd die tutorials mal durcharbeiten und hoffe dann das ichs endlich raff
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
M Ansätze zur Kombination mehrerer Listener für Interaktion AWT, Swing, JavaFX & SWT 19
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
N Listener für Variable AWT, Swing, JavaFX & SWT 4
C Swing Listener für TabPanel AWT, Swing, JavaFX & SWT 8
hdi Welche Klasse + Listener für JMenu AWT, Swing, JavaFX & SWT 2
V Welcher Listener für JTable? AWT, Swing, JavaFX & SWT 3
M Listener für Button auf JScrollbar AWT, Swing, JavaFX & SWT 10
I Listener für einen JSlider AWT, Swing, JavaFX & SWT 1
G Listener Suche für F1 AWT, Swing, JavaFX & SWT 25
J jTable, welcher listener für Änderung der Spaltenbreite AWT, Swing, JavaFX & SWT 2
M Welcher Listener für JLabel? AWT, Swing, JavaFX & SWT 4
N Listener für Grössenänderungen JFrame? AWT, Swing, JavaFX & SWT 3
M Listener für alle inneren Elemente gültig machen? AWT, Swing, JavaFX & SWT 5
T listener für tabellen bei selektierung AWT, Swing, JavaFX & SWT 7
G Welchen Listener für JEditorPane ? AWT, Swing, JavaFX & SWT 3
M listener für komponente AWT, Swing, JavaFX & SWT 3
F InnerClasses für Listener AWT, Swing, JavaFX & SWT 4
T JTextPane: Listener für Zeilenumbrüche AWT, Swing, JavaFX & SWT 4
K listener für jcombobox AWT, Swing, JavaFX & SWT 4
F Listener für JPanel im JInternalFrame AWT, Swing, JavaFX & SWT 5
K Probleme mit Listener für JTree AWT, Swing, JavaFX & SWT 4
T Frage zu Listener für JTable AWT, Swing, JavaFX & SWT 19
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
J Swing dragging listener AWT, Swing, JavaFX & SWT 5
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
L Swing JTextField Content-Listener AWT, Swing, JavaFX & SWT 4
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
C JLabel Listener auf Textänderung? AWT, Swing, JavaFX & SWT 5
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
S Wem füge ich welchen Listener hinzu? AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
E JComboBox Listener AWT, Swing, JavaFX & SWT 2
AyKay SWT (alle) Listener bzw. ModifyEventListener entfernen AWT, Swing, JavaFX & SWT 2
S jTextField Listener AWT, Swing, JavaFX & SWT 7
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
F JCalendar mouseclick listener AWT, Swing, JavaFX & SWT 2
W AWT Listener bei TrayIcon AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben