gpt4 book ai didi

java - 用于 Swing 的回流标签小部件

转载 作者:行者123 更新时间:2023-12-04 01:31:09 26 4
gpt4 key购买 nike

是否有一个 Swing 小部件的行为类似于 JLabel,如果文本的尺寸发生变化,它会自动重排文本?例如:

Large horizontal space available:+--------------+| Foo bar baz  |+--------------+Small horizontal space available:+---------+| Foo bar || baz     |+---------+

我目前正在将 JEditorPanesetContentType("text/html") 和 HTML 内容一起使用。这有效,但它不使用系统的默认标签字体来显示文本。此外,我宁愿不将 HTML 标记放入我的文本中 - 充其量,\n 字符将被转换为换行符,而其他所有内容都将显示为文本。

最佳答案

您可以使用 JTextArea,一个多行纯文本小部件。

Java文档:http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextArea.html

    JTextArea ta = new JTextArea("A JTextArea containing a long text");
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
ta.setOpaque(false);
ta.setEditable(false);
ta.setFocusable(false);
  • setLineWrap(true) 启用换行
  • setWrapStyleWord(true) 将换行从字符换行更改为基于单词
  • setOpaque(true) 使其不透明,就像普通标签一样
  • setEditable(false) 隐藏插入符号并禁止用户更改文本
  • setFocusable(false) 禁止用户选择文本

它看起来像一个普通的 JLabel,但只要宽度太小,它就会将文本换行。

关于java - 用于 Swing 的回流标签小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com