私はこのコードが無意味に見えることに気づきました、私は構造を示すために無関係なものを取り除いたところです
class Drawer extends JComponent {
public Drawer(int[] data) {
System.out.println("drawer");
for(int x = 0; x < data.length; x++){}
//work out what to draw
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("drawerpC"); //check to see if it is called
//draw stuff
}
}
別のファイルでは、の新しいインスタンスがDrawer
定期的に呼び出されます。呼び出されるたびにdata
異なります。したがって、呼び出されるたびに、Drawer
呼び出すpaintComponent
必要があります。
私は他のファイルにこのコードを持っています:
Drawer d = new Drawer(data);
myGUI.con.add(d); //myGUI.con is a previously set up container
repaint()
が呼び出される原因paintComponent
ではないので(そうでない場合はstdoutが表示されます)、paintComponent
呼び出しごとに強制的に呼び出されるようにするにはどうすればよいDrawer
ですか?