Bild zeichnen mit PaintComponent Java
Ich studiere java aktuell, und noch einmal lief ich in einen code im Buch die nicht will arbeiten, und ich kann nicht herausfinden, warum. Dieser code-snippet ist aus Head First Java -
import javax.swing.*;
import java.awt.*;
public class SimpleGui {
public static void main (String[] args){
JFrame frame = new JFrame();
DrawPanel button = new DrawPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(button);
frame.setSize(300,300);
frame.setVisible(true);
}
}
import java.awt.*;
import java.lang.*;
public class DrawPanel extends JPanel {
private Image image;
public DrawPanel(){
image = new ImageIcon("cat2.jpg").getImage();
}
public void paintComponent(Graphics g){
g.drawImage(image,3,4,this);
}
}
das Bild ist im selben Verzeichnis, wo meine class-Dateien sind, und das Bild wird nicht angezeigt. Was vermisse ich hier?
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) In Ihrem
paintComponent()
müssen Sie anrufensuper.paintComponent(g);
. Lesen Sie mehr über benutzerdefinierte Gemälde.2) statt
Image
verwendenBufferedImage
, da Bild seiner abstrat-wrapper.3)
ImageIO
anstattImage
wie diesenew ImageIcon("cat2.jpg").getImage();
4)Verwenden
URL
für die Ressourcen in Ihrem Projekt.Änderte ich den code und es hilft Ihnen: