0
このコードを実行するとPaintComponentは呼び出されません。「塗装された」メッセージは決して印刷されず、理由はわかりません。誰も助けることができますか?JPanelでPaintComponentが呼び出されていない
public class DisplayManager extends JPanel {
public static final int WIDTH = 700, HEIGHT = 900;
public Bottle bottle1 = new Bottle("res/bottleimage.png");
public Slider slider1 = new Slider();
public void initDisplay()
{
JFrame frame = new JFrame();
JPanel panel = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(WIDTH, HEIGHT));
frame.add(panel);
frame.setVisible(true);
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
bottle1.imageIcon.paintIcon(this, g, 50, 50);
System.out.println("painted");
}
}
'DisplayManager'が' JPanel'になっている場合は、新しい 'JPanel'ではなく' Frame'に 'DisplayManager'を追加する必要があります。 'frame.add(this)'の代わりに 'frame.add(panel)' –
がありました。これは – PDPIG
@PDPIGでした。これは解決策の半分にすぎません。 – camickr