Heim >Java >javaLernprogramm >Wie erreicht man einen Zeilenumbruch in einem Java Swing JLabel?
Text in einem JLabel automatisch umbrechen
In Java Swing gibt es keine integrierte Eigenschaft „Wortumbruch“ für JLabel Komponenten. Wir können diesen Effekt jedoch mithilfe des HTML-Stils erzielen.
Lösung: HTML-Breite verwenden
Anstatt eine Zeilenumbrucheigenschaft festzulegen, können wir die Breite des Zeilenumbruchs explizit definieren Der HTML-Text von JLabel verwendet CSS. Diese Breite bestimmt die Anzahl der zu rendernden Zeilen und damit die bevorzugte Höhe des Etiketts.
Durch die Festlegung der Breite in CSS vermeiden wir die Notwendigkeit, manuell zu berechnen, wo Zeilenumbrüche auftreten sollen, oder die optimale Größe zu bestimmen das Etikett.
Hier ist ein Java-Codebeispiel, das zeigt, wie man die Breite eines JLabel mit HTML festlegt:
import javax.swing.*; public class FixedWidthLabel { public static void main(String[] srgs) { final String s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eu nulla urna. Donec sit amet risus nisl, a porta enim. Quisque luctus, ligula eu scelerisque gravida, tellus quam vestibulum urna, ut aliquet sapien purus sed erat. Pellentesque consequat vehicula magna, eu aliquam magna interdum porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed sollicitudin sapien non leo tempus lobortis. Morbi semper auctor ipsum, a semper quam elementum a. Aliquam eget sem metus."; final String html = "<html><body>
Im Beispiel die Breite von Der HTML-Textkörper ist für zwei separate Nachrichtendialoge auf 200 Pixel und 300 Pixel eingestellt, was dazu führt, dass der Text entsprechend umbrochen wird.
Beispielausgabe
Die Ausgabe des obigen Codes wird Seien Sie zwei Nachrichtendialoge:
Diese Technik bietet eine einfache Möglichkeit, einen Zeilenumbruch in JLabel-Komponenten ohne zu erreichen Verlassen Sie sich auf Bibliotheken von Drittanbietern oder auf komplizierte Berechnungen.
Das obige ist der detaillierte Inhalt vonWie erreicht man einen Zeilenumbruch in einem Java Swing JLabel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!