drawImage() zeichnet nicht
-
12-11-2019 - |
Frage
import java.awt.*;
import javax.swing.*;
public class Main
{
JFrame jf;
Main()
{
jf=new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(new MyCanvas());
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new Main();
}
});
}
}
class MyCanvas extends JComponent
{
Image img;
MyCanvas()
{
setPreferredSize(new Dimension(200,200));
img=Toolkit.getDefaultToolkit().createImage("1.jpg");
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(img,0,0,null);
}
}
Ich hätte gerne eine eigene Leinwand paintComponent
Methode, aber manchmal sehe ich ein leeres Fenster ohne Bild.Und ich muss die Fenstergröße ändern, um dieses Bild sichtbar zu machen.Was ist das Problem?Warum zeichnet drawImage manchmal nicht?
Lösung
Ändern
g.drawImage(img,0,0,null);
Zu
g.drawImage(img,0,0,this);
und schon kann es losgehen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow