Wieso wird das JLabel nicht angezeigt?
Ich mache alles genau wie nach Tutorial, aber das JLabel wird nicht angezeigt, sondern nur das Fenster. Wieso?
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Main {
public static void main(String[] args) {
ImageIcon jakeImg = new ImageIcon("jake.png");
JLabel label1 = new JLabel();
label1.setText("TESTESTESTESTEST");
label1.setIcon(jakeImg);
JFrame mainFrame = new JFrame();
mainFrame.setSize(500, 500);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setVisible(true);
mainFrame.add(label1);
}
}
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java, Java Swing, Programmieren & Softwareentwicklung
Du fügst das Label dem Fenster zu, nachdem dieses gezeichnet wurde. Der Zeichenprozess wird von setVisible angestoßen. Verschiebe also diesen Aufruf hinter die Zeile mit dem add-Aufruf.
Vorsorglich, da man zu Swing auch so einige schlechte Quellen findet, empfehle ich zum Lernen die Oracle Tutorials.
danke, so hats geklappt, aber ich verstehe nicht, warum das bei dem Typ geklappt hat, dass das nach dem setVisible steht? ich habe den code 1zu1 abgeschrieben, komisch. aber jetzt weiß ich das ich es immer am ende einfüge xd