T
TobyNick
Gast
Hallo Leute,
ich verzweifel bald -.- Ich habe schon so viel dazu gesucht und schon scheinbar Lösungen, die dann doch nicht so wollten, wie ich. Und falls es hier doch noch schon ein Thema dazu geben sollte, dann bitte ich das zu entschuldigen.
Also hier mein Problem (ich erklärs mal ausführlich):
Ich habe ein Fenster (JFrame), das ich in 3 Teile gleichgroße Teile vertikal aufteilen will. Das geht ja ganz gut mit dem GridLayout (new GridLayout(3, 1)). In das unterste Teil, sollen ein paar Buttons (das ist nicht das Problem). In den zwei oberen Teilen, soll - unabhängig voneinander - Text dargestellt werden. Also sollen die beiden Teile gleich funktionieren, und somit haben sie das gleiche problem, deswegen erklär ich es jetzt nur für einen teil. ;-)
Und zwar soll der Text so dargestellt werden, dass er in der Mitte steht (horizontal und vertikal zentriert). Das horizontale kriege ich hin: Ich lasse den Text in einem JTextPane darstellen und setze StyleConstants.setAlignment auf StyleConstants.ALIGN_CENTER.
Die vertikale Zentrierung soll jetzt so geschehen: Zuerst müsst ihr wissen, dass der Text immer unterschiedlich sein kann. Mal über mehrere Zeilen, mal nur eine Zeile. Also, wenn es nur eine Zeile ist, dann soll es einfach in der Mitte stehen. Wenn der Text über mehrere Zeilen geht, soll er weiterhin zentriert bleiben (sich sozusagen nach unten und nach oben gleichzeitig ausbreiten und nicht nur nach unten). Und wenn er dann noch so lang wird, dass er nicht mehr in diesen drittel Fensterteil passt, dann soll gescrollt werden (mit JScrollPane kann man das ja machen). Mein Problem ist nur das es genau so funktionieren soll. Ich habe schon Tips gelesen mit GridBagLayout oder BoxLayout (und dann oberhalb und unterhalb des Textes ein verticalGlue). Aber das hat alles nichts gebracht im Hinblick auf dieses spezielle Problem. Die Sache ist halt das das JTextPane merken muss, wenn der Text über den Rand hinausgeht, dass es sich dann vergrößert und wenn es merkt, dass es sich nicht mehr vergrößern kann, weil es an den Rand stößt, dass dann der JScrollPane zum Einsatz kommt. Ich hoffe ihr versteht, was ich meine. Entschuldigt den langen Text. Ich mein es kann doch nicht so schwer sein einen Text mittig darzustellen. -.-
Danke schon mal für jede Hilfe
ich verzweifel bald -.- Ich habe schon so viel dazu gesucht und schon scheinbar Lösungen, die dann doch nicht so wollten, wie ich. Und falls es hier doch noch schon ein Thema dazu geben sollte, dann bitte ich das zu entschuldigen.
Also hier mein Problem (ich erklärs mal ausführlich):
Ich habe ein Fenster (JFrame), das ich in 3 Teile gleichgroße Teile vertikal aufteilen will. Das geht ja ganz gut mit dem GridLayout (new GridLayout(3, 1)). In das unterste Teil, sollen ein paar Buttons (das ist nicht das Problem). In den zwei oberen Teilen, soll - unabhängig voneinander - Text dargestellt werden. Also sollen die beiden Teile gleich funktionieren, und somit haben sie das gleiche problem, deswegen erklär ich es jetzt nur für einen teil. ;-)
Und zwar soll der Text so dargestellt werden, dass er in der Mitte steht (horizontal und vertikal zentriert). Das horizontale kriege ich hin: Ich lasse den Text in einem JTextPane darstellen und setze StyleConstants.setAlignment auf StyleConstants.ALIGN_CENTER.
Die vertikale Zentrierung soll jetzt so geschehen: Zuerst müsst ihr wissen, dass der Text immer unterschiedlich sein kann. Mal über mehrere Zeilen, mal nur eine Zeile. Also, wenn es nur eine Zeile ist, dann soll es einfach in der Mitte stehen. Wenn der Text über mehrere Zeilen geht, soll er weiterhin zentriert bleiben (sich sozusagen nach unten und nach oben gleichzeitig ausbreiten und nicht nur nach unten). Und wenn er dann noch so lang wird, dass er nicht mehr in diesen drittel Fensterteil passt, dann soll gescrollt werden (mit JScrollPane kann man das ja machen). Mein Problem ist nur das es genau so funktionieren soll. Ich habe schon Tips gelesen mit GridBagLayout oder BoxLayout (und dann oberhalb und unterhalb des Textes ein verticalGlue). Aber das hat alles nichts gebracht im Hinblick auf dieses spezielle Problem. Die Sache ist halt das das JTextPane merken muss, wenn der Text über den Rand hinausgeht, dass es sich dann vergrößert und wenn es merkt, dass es sich nicht mehr vergrößern kann, weil es an den Rand stößt, dass dann der JScrollPane zum Einsatz kommt. Ich hoffe ihr versteht, was ich meine. Entschuldigt den langen Text. Ich mein es kann doch nicht so schwer sein einen Text mittig darzustellen. -.-
Danke schon mal für jede Hilfe