![]() |
|
|
|||||||
| AWT, Swing & SWT Fragen zur Programmierung von Benutzer-Oberflächen (GUI) |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|
#1 (permalink) |
|
Neuer Benutzer
Byte
Registriert seit: 22.06.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo,
ich hab da mal eine Frage zur ScrollPane. Gibt es eine Möglichkeit, dass die mir immer genau die Größe ausgibt, die benötigt wird, die das Fenster benötigen würde, um alles anzuzeigen und noch ohne Scrollbars auskommt? Mit preferredSize() klappt das irgendwie nämlich nicht. Die ScrollPane enthält ein JPanel, welches halt beliebig viele Elemente enthalten kann. Sonnige Grüße und THX
|
|
|
|
|
|
#2 (permalink) |
|
Stammbenutzer
Megabyte
Registriert seit: 04.12.2006
Beiträge: 1.757
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
Du musst die Größe der Scrollpane auf die Größe des inhaltenden JPanels setzen.
Kann aber auch ins Auge gehen, wenn das JPanel zu groß wird
__________________
Profi-Noob!!
|
|
|
|
|
|
#3 (permalink) |
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.875
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Das Scrollable-Interface auf dem Viewport-View implementieren, kann helfen.
Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. |
|
|
|
|
|
#4 (permalink) |
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 22.06.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hi, thx.
ja hatte auch schon mit viewport rumgespielt, habe es jetzt aber auf relative einfache Weise gelöst. Ich nehme das panel, welches von der scrollpane beinhaltet wird und addiere auf die height noch 30 und auf die weight noch 100 drauf. dann passt es immer. Aber warum gerade 30 und 100? Keine Ahnung, aber der Langzeittest hats es bestätigt
|
|
|
|
|
|
#5 (permalink) | ||||||||||||||||||
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.875
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Aber Deiner Erklärung entnehme ich, dass Du einen kleinen Denkfehler hast. Eine JScrollPane trägt einen JViewport. Mit diesem solltest Du gar nichts machen. Dieser JViewport wiederum trägt eine View (irgendein Component, in diesem Fall Dein Panel). Diese View (und nicht! der JViewport) bestimmt, wie groß die JScrollPane werden will. Der JScrollPane selbst (genauso wie dem JViewport) setzt Du am besten überhaupt keine Größenangaben. Dann stimmt auch die Größe. Wenn Du das Verhalten der JScrollPane besser einstellen möchtest, dann sollte die View (wieder: nicht! der JViewport) das Scrollable-Interface implementieren. Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
#6 (permalink) | ||||||||||||||||||
|
Stammbenutzer
Megabyte
Registriert seit: 04.12.2006
Beiträge: 1.757
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
__________________
Profi-Noob!!
|
||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
#7 (permalink) |
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.875
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Das "am besten" schließt das aus!
Davon abgesehen: Selbst wenn man null-Layout benutzt, sollte man der JScrollPane keine Größe setzen, sondern diese lieber über doLayout() oder validate() auf dem JScrollPane berechnen lassen. Das JScrollPane bringt ja schließlich sein eigenes Layout wieder mit. Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. Geändert von Ebenius (03.07.2009 um 11:24 Uhr) |
|
|
|
|
|
#8 (permalink) | ||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 22.06.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
ja, da hab ich mich wohl falsch ausgedrückt. Mit dem Viewport habe ich auch nichts gemacht.
Mmmh, du hast recht, mit meinen festen Größen ist so nicht ganz das wahre. So hab ich es bis jetzt gemacht, dann wird es vielleicht klarer: In der for-Schleife können halt beliebig viele Elemente stehen und dem Panel hinzugefügt werden.
|
||
|
|
|
|
|
#9 (permalink) |
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.875
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Achso. Du machst doch dort was ganz anderes... Du setzt die Größe des Fensters. Ein Fenster hat natürlich auch noch eine Titelleiste und einen Rahmen. Und Dein Button im Süden will natürlich auch Platz. Deswegen brauchst Du die zusätzlichen 100 / 30 px. Ist auch mit jedem System × LookAndFeel unterschiedlich.
Wenn Du die ScreenSize als Grenze verwendest, solltest Du auch noch die ScreenInsets (zum Beispiel wegen der Start-Leiste im Windows) abziehen. Ansonsten: Benutz doch einfach pack(), das macht das Layout in genau der richtigen Größe. Danach kannst Du dann die Größe des Fensters ggf. noch gegen die Grenzwerte korrigieren. HTH, Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. |
|
|
|
|
|
#10 (permalink) | ||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 22.06.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
![]() Zu pack aber noch eine kleine Frage: Die Fenster werden toll, nur JTextFields, die noch unbefüllt sind werden im Prinzip nicht richtig dargestellt. Die sind im Prinzip nur ein kleiner weißer Strich. Sollte ich für jedes dieser TextFelder von vornherein eine PreferredSize setzen, oder geht das auch anders? |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
#11 (permalink) | ||||||||||||||||||
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.875
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| ScrollPane passt sich nicht an | NickK | AWT, Swing & SWT | 4 | 29.10.2008 13:00 |
| 2 Problem mit dem ScrollPane | Deployment | 2 | 28.04.2007 11:05 | |
| JMenu verschwindet unter ScrollPane | maul | AWT, Swing & SWT | 3 | 10.01.2006 12:34 |
| Ärger mit ScrollPane, JTable und der Resize-Einstellung | EinenDenEsNochNichtGibt | AWT, Swing & SWT | 2 | 14.10.2005 10:17 |
| Frame in ScrollPane einfügen | ninja | AWT, Swing & SWT | 5 | 07.09.2004 17:24 |