wassermann_2005
Grünschnabel
Hallo!
Ich möchte gerne HTML für das Layout meiner Labels benutzen, die aber unbedingt einzeilig sein sollen (was man normalerweise von Labels erwartet). Das Problem liegt aber daran, dass wenn die Größe des Labels zu klein ist und mein Text ein HTML-Text ist, dann wird die Größe des Labels automatisch angepasst. In diesem Fall wird irgendwie die gesetzte Größe gar nicht berücksichtigt und das kann sogar dazu führen (abhängig vom Layout), dass vieles abgeschnitten wird. Ich habe schon auch mit dem Setzen von PreferredSize usw. ausprobiert.
Mein Ziel ist, dass die Labels mit dem HTML-Text genau so sich verhalten, wie die Labels mit dem normalen Text (nicht HTML), d.h. wenn der Text zu lange ist, dann wird der Text abgeschnitten und man sieht am Ende "..."
Weiß jemand, wie ich das erreichen kann? Welche Methoden muss ich eventuell überschreiben oder wie kann ich das automatische Line Wrapping deaktivieren, damit keine "newlines" automatisch hinzugefügt werden?
Viele Dank im Voraus.
Hier ist ein Beispielcode zum Ausprobieren:
public class HTMLLabel {
public static void main(String[] a) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label1 = new JLabel("My Label Label Label Label");
label1.setSize(100,20);
JLabel label2 = new JLabel("<html>My <i>HTML</i> Label Label Label Label</html>");
label2.setSize(100,20);
frame.add(label1);
frame.add(label2);
frame.setSize(100, 200);
frame.setVisible(true);
}
}
Ich möchte gerne HTML für das Layout meiner Labels benutzen, die aber unbedingt einzeilig sein sollen (was man normalerweise von Labels erwartet). Das Problem liegt aber daran, dass wenn die Größe des Labels zu klein ist und mein Text ein HTML-Text ist, dann wird die Größe des Labels automatisch angepasst. In diesem Fall wird irgendwie die gesetzte Größe gar nicht berücksichtigt und das kann sogar dazu führen (abhängig vom Layout), dass vieles abgeschnitten wird. Ich habe schon auch mit dem Setzen von PreferredSize usw. ausprobiert.
Mein Ziel ist, dass die Labels mit dem HTML-Text genau so sich verhalten, wie die Labels mit dem normalen Text (nicht HTML), d.h. wenn der Text zu lange ist, dann wird der Text abgeschnitten und man sieht am Ende "..."
Weiß jemand, wie ich das erreichen kann? Welche Methoden muss ich eventuell überschreiben oder wie kann ich das automatische Line Wrapping deaktivieren, damit keine "newlines" automatisch hinzugefügt werden?
Viele Dank im Voraus.
Hier ist ein Beispielcode zum Ausprobieren:
public class HTMLLabel {
public static void main(String[] a) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label1 = new JLabel("My Label Label Label Label");
label1.setSize(100,20);
JLabel label2 = new JLabel("<html>My <i>HTML</i> Label Label Label Label</html>");
label2.setSize(100,20);
frame.add(label1);
frame.add(label2);
frame.setSize(100, 200);
frame.setVisible(true);
}
}