Hallo, ich bin neu hier und auch im Java programmieren. Wollte mir ganz einfaxh mal ein bild ausgeben lassen, doch Java gibt mir beim starten nur ein leeres fesnter aus.
Ich benutze den WindowBuilder um mein Interface leichter zu erstellen und an meiner paintComponent sollte auch nichts falsch sein, da Java mir das Bild anzeigt falls ich die initialize() weg mache und die erstellung des Fensters direkt in der main() mache. Also muss ja der Fehler irgendwo in meiner durch WindowBuilder automatisch erstellten main() liegen oder?
public class TestGU extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon i = new ImageIcon("C:\Users\***\Desktop\Image.png");
i.paintIcon(this, g, 70, 70);
}
private JFrame frame;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestGU window = new TestGU();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public TestGU() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ich benutze den WindowBuilder um mein Interface leichter zu erstellen und an meiner paintComponent sollte auch nichts falsch sein, da Java mir das Bild anzeigt falls ich die initialize() weg mache und die erstellung des Fensters direkt in der main() mache. Also muss ja der Fehler irgendwo in meiner durch WindowBuilder automatisch erstellten main() liegen oder?
public class TestGU extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon i = new ImageIcon("C:\Users\***\Desktop\Image.png");
i.paintIcon(this, g, 70, 70);
}
private JFrame frame;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestGU window = new TestGU();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public TestGU() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}