Как добавить текст в форму?

поэтому я разрабатываю JFrame с помощью Eclipse WindowBuilder. Этот конкретный фрейм представляет собой сообщение об ошибке, указывающее, что пользователь предоставил недопустимые учетные данные. Я добавил кнопку для выхода из кадра, и теперь мне нужно отобразить фактическое сообщение об ошибке " указанные учетные данные недействительны. Просьба предоставить действительные учетные данные."

Я сделал некоторый поиск, и все говорят, чтобы использовать JLabel, но когда я создаю свой JLabel и ввожу в него текст, нет wordwrap или что-то еще поэтому я не могу поместить этикетку в свою рамку.

Что такое простой способ просто отобразить сообщение в центре JFrame?

4 ответов


чтобы создать метку для текста:

JLabel label1 = new JLabel("Test");

чтобы изменить текст в метке:

label1.setText("Label Text");

и, наконец, чтобы очистить метку:

label1.setText("");

и все, что вам нужно сделать, это поместить метку в макет или любую систему макета, которую вы используете, а затем просто добавить ее в JFrame...


вместо того чтобы тратить свое время для разработки 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);
    }
}

enter image description here

П. С. прекратить использовать Windowbuilder если вы хотите узнать качели.


когда я создаю свой JLabel и ввожу в него текст, нет wordwrap или чего-либо

форматирование HTML может использоваться для переноса слов в любом компоненте Swing, который предлагает стилизованный текст. E. G. как показано в ответ.


вы можете добавить многострочную метку со следующим:

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

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

отсюда просто добавьте метку в кадр с помощью метода add (), и все готово!