Wie fügen Sie einen Zeilenumbruch zu JLabel ohne Verwendung von HTML
Wie kann ich einen Zeilenumbruch, um eine JLabel
? Ich weiß, wenn ich mit einfachen HTML -, wird es funktionieren. Aber wenn ich html verwenden, JLabel
zeigt nicht die Schrift, die embedded mit der Anwendung. Ich bin Einbettung der schriftart, die mit der Methode - createFont()
und mit JLabel.setFont()
für die Anwendung der Schrift.
InformationsquelleAutor Nauphal | 2011-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stattdessen versuchen Sie, es in der HTML, wie gezeigt hier.
InformationsquelleAutor Andrew Thompson
SwingX unterstützt mehrzeilige Etiketten:
weiß nicht. Was wäre die richtige baseline?
für mich die richtige Grundlinie wäre der Grundlinie der ersten Zeichen der ersten Zeile des Etiketts. Aber ich bin sicher, Sie könnten andere Menschen finden, die lieber eine Grundlinie zentriert auf die ganze Höhe des Etiketts zum Beispiel, und andere Leute möchten vielleicht auch die Grundlinie der Grundlinie der ersten Zeichen der LETZTEN Zeile auf dem Etikett. Es hängt eigentlich, wie wollen die Leute von Etiketten ausgerichtet in Ihre layouts. Ich denke, mein Erster Vorschlag macht Sinn, die meisten.
vielen Dank - werde prüfen, ob/wie JXLabel unterstützt eine baseline
InformationsquelleAutor kleopatra
Ich glaube nicht, dass es direkt(und einfach) Weg, das zu tun JLabel mit mehreren Zeilen ohne wiederkehrende HTML. Sie können JTextArea statt.
Sollte es Aussehen fast gleich. Wenn Sie verschiedene Schriftarten für verschiedene Komponenten können Sie fügen Sie die folgende Zeile, um sicherzustellen, dass die schriftart der JTextArea ist das gleiche mit JLabel
Hoffe, das hilft.
Überprüfen Sie diesen Beitrag stackoverflow.com/questions/3213045/...
InformationsquelleAutor Serhiy
JLabel ist nicht ursprünglich für mehrzeiligen text, von was ich mich erinnere. Würden Sie überschreiben müssen die verschiedenen rendering-Methoden für die text-line-splitting manuell.
Vielleicht sollten Sie lieber eine nicht editierbare JTextArea möchten Sie mehrzeilige Etiketten.
InformationsquelleAutor mcfinnigan
1) wenn Sie möchten, um Mehrzeilige JComponents ohne Verwendung von JLabel, dann haben Sie zu suchen TextComponent wie JTextArea, JTextPane, JEditorPane, wenn sollte nicht bearbeitet werden, dann
myTextComponent#setEditable(false);
2) sehe ich nie problem mit Html & Font & Farbe im Gange, zum Beispiel:
InformationsquelleAutor mKorbel
Meisten der folgende code stammt aus BasicLabelUI und/oder WindowsLabelUI aber ich code Hinzugefügt, um es arbeiten mit mehreren Linien. Dies war der Mindestbetrag, den kopierten code, den ich bekommen konnte, um zu arbeiten. Sie können die Trennzeichen zwischen den Zeilen mit setSeparator oder durch ändern der Standard-auf die Instanziierung der LinesAndIndex. Ich habe dies nicht getan, umfangreiche Tests zu diesem Thema, aber es funktioniert für mich so weit. Bei der Verwendung von HTML der Merksatz hat nicht funktioniert, also habe ich diese. Wenn Sie einen besseren Weg, dies zu erreichen, bitte korrigieren Sie den code.
InformationsquelleAutor BobPhoenix