【问题标题】:How to add text to JFrame?如何将文本添加到 JFrame?
【发布时间】:2012-12-01 18:53:51
【问题描述】:

所以我正在使用 Eclipse WindowBuilder 设计一个 JFrame。此特定帧是一条错误消息,指出用户提供了无效凭据。我添加了一个按钮来退出框架,现在我需要显示实际的错误消息“指定的登录凭据无效。请提供有效的凭据。”

我进行了一些搜索,每个人都说要使用 JLabel,但是当我创建我的 JLabel 并在其中输入文本时,没有自动换行或任何东西,所以我无法将标签放入我的框架中。

在 JFrame 的中心显示一条消息的简单方法是什么?

【问题讨论】:

    标签: java swing jframe windowbuilder


    【解决方案1】:

    为文本创建标签:

    JLabel label1 = new JLabel("Test");
    

    更改标签中的文本:

    label1.setText("Label Text");
    

    最后要清除标签:

    label1.setText("");
    

    您所要做的就是将标签放置在您的布局中,或者您正在使用的任何布局系统中,然后将其添加到 JFrame...

    【讨论】:

    • 感谢您的快速回复。我知道这一点,但在 WindowBuilder 中,我无法让整个标签适合我的框架。它在一行上显示它,这比我的实际框架长得多。如何使文本适合框架范围?
    • 尝试使用 JTextArea 并在需要换行的地方添加 \n
    • GAH 这么多反对票。尝试了 jtextarea。非常感谢!
    【解决方案2】:

    与其浪费时间设计JFrame 来显示错误消息,不如使用默认模式的JOptionPane

    import javax.swing.JOptionPane;
    
    public class Main {
    
        public static void main(String[] args) {
            JOptionPane.showMessageDialog(null, "Your message goes here!","Message", JOptionPane.ERROR_MESSAGE);
        }
    }
    

    附:如果您想学习 Swing,请停止使用 Windowbuilder。

    【讨论】:

      【解决方案3】:

      当我创建我的 JLabel 并在其中输入文本时,没有自动换行或任何东西

      HTML 格式可用于在任何提供样式文本的 Swing 组件中进行自动换行。例如。如this answer 所示。

      【讨论】:

        【解决方案4】:

        将文本添加到 JFrame 的最简单方法:

        JFrame window = new JFrame("JFrame with text"); 
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setLayout(new BorderLayout());
        window.add(new JLabel("Hello World"), BorderLayout.CENTER);
        window.pack();
        window.setVisible(true);
        window.setLocationRelativeTo(null);
        

        【讨论】:

          【解决方案5】:

          您可以使用以下内容添加多行标签:

          JLabel label = new JLabel("My label");
          
          label.setText("<html>This is a<br>multline label!<br> Try it yourself!</html>");
          

          从这里,只需使用 add() 方法将标签添加到框架中,一切就绪!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-08-31
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多