webentwicklung-frage-antwort-db.com.de

Wie füge ich Text in JFrame hinzu?

Also entwerfe ich einen JFrame mit Eclipse WindowBuilder. Dieser bestimmte Frame ist eine Fehlernachricht, die angibt, dass der Benutzer ungültige Anmeldeinformationen angegeben hat. Ich habe eine Schaltfläche zum Beenden des Frames hinzugefügt und muss nun die tatsächliche Fehlermeldung anzeigen "Die angegebenen Anmeldeinformationen sind ungültig. Bitte geben Sie gültige Anmeldeinformationen an."

Ich habe etwas gesucht und jeder sagt, ein JLabel zu verwenden, aber wenn ich mein JLabel erstellt habe und den Text dazu eingebe, gibt es keine Zeilenumbrüche oder ähnliches, daher kann ich das Label nicht in meinen Rahmen einfügen. 

Wie lässt sich eine Nachricht einfach in der Mitte des JFrame anzeigen?

8
thaweatherman

So erstellen Sie eine Beschriftung für Text:

JLabel label1 = new JLabel("Test");

So ändern Sie den Text im Etikett:

label1.setText("Label Text");

Und zum Schluss das Etikett zu löschen:

label1.setText("");

Alles, was Sie tun müssen, ist, die Beschriftung in Ihr Layout oder in ein beliebiges Layout-System zu setzen, das Sie verwenden, und es dem JFrame hinzuzufügen ...

9
Bhavik Ambani

Anstatt Ihre Zeit zu verschwenden, um eine JFrame zu entwerfen, nur um eine Fehlermeldung anzuzeigen, können Sie eine JOptionPane verwenden, die standardmäßig modal ist: 

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

P.S. Beenden Sie die Verwendung von Windowbuilder, wenn Sie Swing lernen möchten.

4
Branislav Lazic

wenn ich mein JLabel erstelle und den Text dazu eingebe, gibt es keine Zeilenumbrüche oder ähnliches

Die HTML-Formatierung kann verwendet werden, um einen Word-Wrap in jeder Swing-Komponente zu erzeugen, die Text mit Text enthält. Z.B. wie in diese Antwort gezeigt .

3
Andrew Thompson

So fügen Sie einem JFrame am einfachsten einen Text hinzu:

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);
0
Johnny

Sie können ein mehrzeiliges Etikett mit den folgenden Elementen hinzufügen:

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

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

Fügen Sie von hier aus einfach die Beschriftung mit der add () - Methode zum Rahmen hinzu, und Sie sind fertig!

0
bohlmanc