gpt4 book ai didi

java - 如何将长字符串放入 JLabel

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:47 26 4
gpt4 key购买 nike

如标题所述:我需要将 JLabel 放入 JFrame 中,但 JLabel 中的文本太长,因此我需要添加一些换行符。 JLabel 中的文本是从在线 XML 文件中获取的,因此我不能只更改文本以包含换行符。

此代码从 XML 文件中提取数据

Element element = (Element)nodes1.item(i);
String vær = getElementValue(element,"body");
String v = vær.replaceAll("<.*>", "" );
String forecast = "Vær: " + v;

在这种情况下,我想向字符串 v 添加一些换行符。字符串 v 包含来自 xml 文件的解析数据。 String forecast 被返回并设置为 JLabel 的文本。

请问有什么不清楚的地方,在此先感谢!

最佳答案

我建议使用 JTextArea相反,打开包装。在 JLabel 中做到这一点的唯一方法就是放换行符<br /> ,如果您事先不知道文本,这在您的情况下是行不通的(至少不容易)。

JTextArea更加灵活。默认情况下它看起来不同,但您可以摆弄一些显示属性使其看起来像 JLabel。 .


来自 How to Use Text Areas 的简单修改 用法示例教程-

public class JTextAreaDemo {

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}

private static void createAndShowGUI(){
final JFrame frame = new JFrame("JTextArea Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JPanel panel = new JPanel();
JTextArea textArea = new JTextArea(
"If there is anything the nonconformist hates worse " +
"than a conformist, it's another nonconformist who " +
"doesn't conform to the prevailing standard of nonconformity.",
6,
20);
textArea.setFont(new Font("Serif", Font.ITALIC, 16));
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setOpaque(false);
textArea.setEditable(false);

panel.add(textArea);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}

enter image description here

关于java - 如何将长字符串放入 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984099/

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