Hallo,
ich versuche Bilder im Fenster anzuzeigen. Da mehrere Versuche gescheitert sind, habe den Code eines Tutorials 1 zu 1 als Beispiel übernommen.
Dort wird das Bild und das Icon auf dem Button angezeigt. Bei mir aber nur das Icon auf dem Button.
Kann es andere Gründe als den Code selbst geben, weshalb bei mir die Bilder nicht angezeigt werden?
Vielen Dank.
[CODE lang="java" title="Bilder"]
package Tutorial;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.imageio.ImageIO;
public class Gui {
JButton button;
ImageLoader il;
public Gui() {
il = new ImageLoader();
JFrame frame = new JFrame("Fenstertext");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
frame.requestFocus();
Draw draw = new Draw();
draw.setBounds(0, 0, 800, 600);
draw.setVisible(true);
frame.add(draw);
button = new JButton();
button.setBounds(400, 400, 150, 50);
button.setIcon(il.icon);
button.setVisible(true);
frame.add(button);
frame.setVisible(true);
}
public static void main(String[] args) {
new Gui();
}
public class Draw extends JLabel {
ImageLoader il = new ImageLoader();
public void paintComponents(Graphics g) {
super.paintComponents(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(il.image, 50, 50, 100, 100, null);
repaint();
}
}
public class ImageLoader {
BufferedImage image;
Icon icon;
public ImageLoader() {
try {
image = ImageIO.read(new File("rsc/Fish.png"));
icon = new ImageIcon("rsc/Plant.png");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}[/CODE]
ich versuche Bilder im Fenster anzuzeigen. Da mehrere Versuche gescheitert sind, habe den Code eines Tutorials 1 zu 1 als Beispiel übernommen.
Dort wird das Bild und das Icon auf dem Button angezeigt. Bei mir aber nur das Icon auf dem Button.
Kann es andere Gründe als den Code selbst geben, weshalb bei mir die Bilder nicht angezeigt werden?
Vielen Dank.
[CODE lang="java" title="Bilder"]
package Tutorial;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.imageio.ImageIO;
public class Gui {
JButton button;
ImageLoader il;
public Gui() {
il = new ImageLoader();
JFrame frame = new JFrame("Fenstertext");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
frame.requestFocus();
Draw draw = new Draw();
draw.setBounds(0, 0, 800, 600);
draw.setVisible(true);
frame.add(draw);
button = new JButton();
button.setBounds(400, 400, 150, 50);
button.setIcon(il.icon);
button.setVisible(true);
frame.add(button);
frame.setVisible(true);
}
public static void main(String[] args) {
new Gui();
}
public class Draw extends JLabel {
ImageLoader il = new ImageLoader();
public void paintComponents(Graphics g) {
super.paintComponents(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(il.image, 50, 50, 100, 100, null);
repaint();
}
}
public class ImageLoader {
BufferedImage image;
Icon icon;
public ImageLoader() {
try {
image = ImageIO.read(new File("rsc/Fish.png"));
icon = new ImageIcon("rsc/Plant.png");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}[/CODE]