【问题标题】:set alignment of JTextField设置 JTextField 的对齐方式
【发布时间】:2013-04-18 04:47:54
【问题描述】:

我的问题是参考这里JTextField : How to set text on the left of JTextField when text too long的这篇文章

如果字符串太长,有什么办法可以在下一行显示文本而不是单行?

现在,它将字符串显示为

|----------------------|
| JTextField example ..|
|----------------------|

有什么办法可以做到这样吗?

|----------------------|
| JTextField example ..|
|..continue string.....|
|.........end of string|
|----------------------|

【问题讨论】:

    标签: java swing alignment jtextfield


    【解决方案1】:

    如果你想要一个包含多行的字段,你应该使用一个

    JTextArea textArea = new JTextArea()
    

    而是因为 JTextField 不支持它 (afaik)。

    编辑
    要让 JTextArea 滚动,您需要将其放入 JScrollPane 中,如下所示:

    JFrame frame = new JFrame();
    JTextArea textArea = new JTextArea("Test");
    textArea.setLineWrap(true);
    //textArea.setWrapStyleWord(true);
    JScrollPane scrollPane = new JScrollPane(textArea);
    frame.add(scrollPane);
    

    【讨论】:

    • 谢谢.. 但是当我使用JTextArea 时,我需要添加一些额外的东西以便它可以滚动吗?现在,它只显示部分文本并且不能滚动
    • 用滚动解释更新了我的答案
    • 感谢您的解释 :) 有没有什么办法可以自动打断长句并根据 textArea 大小显示为多行?
    • 再次更新,需要设置textArea.setLineWrap(true),后面的行是如果你想让它换成整个单词
    【解决方案2】:

    您的链接帖子表明您只是希望显示一个长字符串。如果您不需要编辑,我建议使用 JLabel 并使用 HTML 标记。

    JLabel myLabel = new JLabel("<html>I will wrap.</html>");
    

    【讨论】:

      猜你喜欢
      • 2014-11-07
      • 1970-01-01
      • 2012-04-28
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2018-09-06
      相关资源
      最近更新 更多