Hallo zusammen!
Ich habe eine GUI erstellt und wollte in dieser ein Bild einbinden!
Dies hat auch nach mehreren Versuchen nicht funktioniert!
Code der ersten Klasse:
Code der Klasse: "PicturePanel":
Als "Fehler" bekam ich ein nicht vorhandenes Fenster!
Über eine Antwort würde ich mich sehr freuen!
Mit freundliche Grüßen
Malte, Wood14Mine
Ich habe eine GUI erstellt und wollte in dieser ein Bild einbinden!
Dies hat auch nach mehreren Versuchen nicht funktioniert!
Code der ersten Klasse:
Java:
package de.woodios.gui;
import de.woodios.apis.PicturePanel;
import de.woodios.main.Main;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class GUI_main extends JFrame {
JLabel exit;
JLabel title;
JLabel usr;
JButton btnShop;
JButton btnHome;
JButton btnProfile;
JButton ph;
JLabel logo;
ImageIcon icon;
public GUI_main() {
Font titlefont = new Font("Raleway", Font.PLAIN,40);
Font iconfont = new Font("Raleway", Font.PLAIN,26);
Font fieldfont = new Font("Raleway", Font.PLAIN,26);
Font logfont = new Font("Raleway", Font.PLAIN,26);
Font btnfont = new Font("Raleway", Font.PLAIN,20);
setLayout(null);
setSize(1100,700);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setTitle("WoodiOS");
getContentPane().setForeground(Color.white);
getContentPane().setBackground(Color.darkGray);
setLocationRelativeTo(null);
setUndecorated(true);
exit = new JLabel("X");
exit.setBounds(1070, 0, 30, 50);
exit.setFont(iconfont);
exit.setForeground(Color.white);
exit.setBackground(Color.darkGray);
exit.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(e.getSource() == exit) {
System.exit(0);
}
}
});
title = new JLabel("WoodiOS " + Main.version);
title.setBounds(70, 10, 300, 50);
title.setFont(titlefont);
title.setForeground(Color.white);
title.setBackground(Color.darkGray);
usr = new JLabel("Logged in as " + Main.actUser);
usr.setBounds(770, 0, 300, 50);
usr.setFont(iconfont);
usr.setForeground(Color.white);
usr.setBackground(Color.darkGray);
btnHome = new JButton("Home");
btnHome.setBounds(30, 640, 250, 30);
btnHome.setFont(btnfont);
btnHome.setForeground(Color.black);
btnHome.setBackground(Color.darkGray);
btnShop = new JButton("Shoppage");
btnShop.setBounds(310, 640, 250, 30);
btnShop.setFont(btnfont);
btnShop.setForeground(Color.black);
btnShop.setBackground(Color.darkGray);
btnProfile = new JButton("Profile");
btnProfile.setBounds(820, 640, 250, 30);
btnProfile.setFont(btnfont);
btnProfile.setForeground(Color.black);
btnProfile.setBackground(Color.darkGray);
ph = new JButton("Profile");
ph.setBounds(30, 80, 1040, 540);
ph.setFont(btnfont);
ph.setForeground(Color.black);
ph.setBackground(Color.darkGray);
logo = new JLabel(new ImageIcon("./logo/logo.png"));
ph.setBounds(30, 80, 1040, 540);
add(new PicturePanel());
add(exit);
add(title);
add(usr);
add(btnHome);
add(btnShop);
add(btnProfile);
pack();
setVisible(true);
}
}
Code der Klasse: "PicturePanel":
Java:
package de.woodios.apis;
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.net.*;
import java.io.*;
public class PicturePanel extends JPanel {
private Image image, background;
public PicturePanel() {
super(new GridBagLayout());
try {
image = ImageIO.read(getClass().getResource("logo.png"));
}
catch(IllegalArgumentException iae) {
JOptionPane.showMessageDialog(this, "Grafikdatei nicht gefunden!\n"+iae.getMessage());
}
catch(IOException ioe) {
JOptionPane.showMessageDialog(this, "Fehler beim Einlesen einer Grafikdatei!\n"+ioe.getMessage());
}
//Button pictureButton = new JButton("Button mit Icon", new ImageIcon(image));
//add(pictureButton);
JLabel picture = new JLabel(new ImageIcon(image));
picture.setBounds(30, 80, 1040, 540);
add(picture);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(image != null) {
g.drawImage(image, 0, 0, this);
}
}
}
Als "Fehler" bekam ich ein nicht vorhandenes Fenster!
Über eine Antwort würde ich mich sehr freuen!
Mit freundliche Grüßen
Malte, Wood14Mine