【问题标题】:Problem with multi-line JTextField多行 JTextField 的问题
【发布时间】:2011-07-12 09:28:59
【问题描述】:

我有一个JTextField,需要在其中包含 3 行,例如:

HI
MY name
is mehdi

如何在JTextField 中设置文本?我试过\n,但没用。

【问题讨论】:

    标签: java uitextfield jtextfield


    【解决方案1】:

    1 : JTextField 不支持多行。你想要的是一个 JTextArea

    2 : 换行符在所有系统上都不相同,如果您运行的是 Windows,则可能必须使用 "\r\n"。从 Java 7 开始,就有System.LineSeparator 来解决这个问题。

    (见Oracle documentation

    【讨论】:

    • 当你说它不支持它时,你一定是说得相当松散。我正试图弄清楚如何阻止它现在支持多行。是的......我正在处理的是一个 JTextField。
    • 这很奇怪,我实际上是非常直白的,因为根据docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html“JTextField 是一个轻量级组件,它允许编辑单行文本”
    • (注意这在 Java 8 中也没有改变)你确定你不只是看到文本换行而不是显示实际的多行文本吗?
    • 我想我实际上是在打a bug。如果您粘贴,您可以在其中获得多行,并且我一直在寻找一个好的解决方案,因为它发生在应用程序范围内。我想知道它实际上是否已在 Java 8 中修复。
    • 我很抱歉复活了一个旧帖子,但我只是想附上这个评论,因为这花了我很长时间才理解。如果我在 JPanel 中有一个 JTextArea 字段并且我正在使用 .getText() 那么我需要按回车键或制表符按钮来创建换行符或制表符,我无法键入“\n”或“\t” .
    【解决方案2】:

    【讨论】:

      【解决方案3】:
      JTextArea taText = new JTextArea();
      taText.setText("\tHI\nMY name\nis Raku");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-28
        • 2013-02-10
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2018-01-05
        • 2012-04-26
        相关资源
        最近更新 更多