10

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

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

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

4

5 回答 5

12

要为文本创建标签:

JLabel label1 = new JLabel("Test");

要更改标签中的文本:

label1.setText("Label Text");

最后清除标签:

label1.setText("");

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

于 2012-12-01T18:56:28.410 回答
4

与其浪费时间设计一个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);
    }
}

在此处输入图像描述

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

于 2012-12-01T20:37:10.907 回答
3

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

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

于 2012-12-02T01:04:47.330 回答
1

将文本添加到 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);
于 2019-05-02T18:43:12.910 回答
0

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

JLabel label = new JLabel("My label");

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

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

于 2015-07-22T05:01:12.310 回答