PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JEditorPane - Größenbestimmung



mathisdt
14-11-2004, 23:09
Hallo liebe Leute,
ich habe folgendes Problem: Ich möchte einen JEditorPane (ist auch nötig, weil verschieden formatierter Text rein soll) so einsetzen, dass er automatisch umbricht bei zu langen Zeilen (kein Problem, das ist Standard). Jetzt will ich aber auch (ohne einen JScrollPane direkt um den JEditorPane zu benutzen) darunter ein JLabel setzen, kann aber die Höhe nicht feststellen, weil er bei getPreferredSize() die optimale Höhe bei optimaler Breite zurückgibt. Wie bekomme ich jetzt die aktuell maximal benötigte Höhe des JEditorPane heraus?

Irgendwelche Ideen?

Hier die Hierarchie, wie ich das ganze basteln möchte, zum besseren Verständnis:

JScrollPane

JPanel

JEditorPane
JLabel

marius
15-11-2004, 02:44
moin

hmm bin mir nicht ganz sicher was genau du vor hast aber warum setzt du nicht auf dem Jpanel einfach ein borderlayout und packst den label nach south und editorpane nach center, das ist die uebliche vorgehensweise.

kann aber auch sein das ich dich falsch verstehe.

gruss
marius

mathisdt
15-11-2004, 10:01
Also, das ganze ist noch etwas komplexer, ich habe nicht alles beschrieben. Jetzt mach ich das aber am besten: Das ganze soll ein Fullscreen-Beamer-Display für Liedtexte werden. Ich habe benutzerdefinierte Vorgaben für: Rand oben, links, unten, Abstand zwischen Überschrift und Liedtext und zwischen Liedtext und Copyright.

Bisher habe ich das so gelöst, dass ich einen Layout-losen JPanel genommen habe und dann die Komponenten exakt positionert habe (und auch die Größen exakt berechnet und festgelegt habe).

Dies JPanel darf natürlich maximal die Bildschirmbreite haben, daher darf auch das JEditorPane max. so breit sein.

Ich werde mal versuchen, das Problem mit einigen Borders darum zu lösen, danke für Deinen Vorschlag!

mathisdt
15-11-2004, 22:24
Es geht jetzt, ich habe die absolute Positionierung durch Border-Dicken ersetzt und die drei Textbausteine in NORTH, CENTER und SOUTH gepackt. Danke für die Hilfe!