Hallo,
ich adde einem Panel eine Grafik. Wenn ich von Eclipse aus starte, alles kein Problem wird sauber angezeigt. Wenn ich ein jar generiere, dann wird die Grafik nicht angezeigt. Das Grafikfile liegt im jar, daran kanns net liegen. Es wird auch keine Exception geworfen, dass das File nicht da wäre.
Hier mal mein Code:
Kann es am Code liegen? Oder muss ich irgendwelche Einstellungen in beim jar generieren vornehmen? Wie gesagt, das File liegt im jar und auch das Verzeichnis passt so...
ich adde einem Panel eine Grafik. Wenn ich von Eclipse aus starte, alles kein Problem wird sauber angezeigt. Wenn ich ein jar generiere, dann wird die Grafik nicht angezeigt. Das Grafikfile liegt im jar, daran kanns net liegen. Es wird auch keine Exception geworfen, dass das File nicht da wäre.
Hier mal mein Code:
Code:
public JPanel init(String userName) {
t = new Timer();
t.schedule(new ClockTask(), 100, 100);
JLabel l1 = new JLabel("Konditionen - Rechner", JLabel.CENTER);
JLabel l2 = new JLabel("Benutzer: " + userName, JLabel.RIGHT);
l1.setBackground(Color.white);
l2.setBackground(Color.white);
l1.setForeground(Color.darkGray);
l2.setForeground(Color.darkGray);
l1.setFont(new Font("Arial", Font.BOLD, 40));
l2.setFont(new Font("Arial", Font.BOLD, 20));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 1;
gbc.gridheight = 2;
gbc.insets = new Insets(3, 3, 3, 10);
gbc.fill = GridBagConstraints.HORIZONTAL;
add(new BackgroundImageExample().getImagePanel(), gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.gridwidth = 1;
gbc.gridheight = 2;
gbc.weightx = 1;
add(l1, gbc);
gbc.gridx = 2;
gbc.gridy = 0;
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.weightx = 0.05;
add(l2, gbc);
gbc.gridx = 2;
gbc.gridy = 1;
add(timeLabel, gbc);
return this;
}
public class BackgroundImageExample {
public JPanel getImagePanel() {
return new BackgroundPanel(new ImageIcon("src/Images/medi.jpg"));
}
class BackgroundPanel extends JPanel {
private static final long serialVersionUID = 1L;
ImageIcon icon;
public BackgroundPanel(ImageIcon icon) {
this.icon = icon;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (this.icon != null) {
g.drawImage(icon.getImage(), 0, 0, this);
}
}
public Dimension getPreferredSize() {
if (icon != null) {
return new Dimension(icon.getIconWidth(), icon.getIconHeight());
}
else {
return super.getPreferredSize();
}
}
}
}
Kann es am Code liegen? Oder muss ich irgendwelche Einstellungen in beim jar generieren vornehmen? Wie gesagt, das File liegt im jar und auch das Verzeichnis passt so...