私は単純な四角形を描画しようとしていますが、paintComponentメソッドが呼び出されていないと思います。ここで は、mainメソッドを持つクラスのコードです:ここでの問題は何JavaのpaintComponent()が呼び出されていない
package painting;
import java.awt.*;
import javax.swing.*;
public class Painting {
public static void main(String[] args) {
JFrame jf;
jf = new JFrame("JUST DRAW A RECTANGLE");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(null);
jf.setLocationRelativeTo(null);
jf.setSize(600,600);
jf.setVisible(true);
Mainting maint = new Mainting();
jf.add(maint);
}
}
やpaintComponent(を持つクラス)
package painting;
import java.awt.*;
import javax.swing.*;
public class Mainting extends JPanel {
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawRect(0, 0 , 200, 200);
System.out.println("haha");
g.setColor(Color.red);
}
}
、私は...
今後のヒント:JFrameの 'setVisible()'メソッドをメインメソッドの最後のステートメントと呼ぶ方が良いでしょう。これにより、 'repaint()'メソッドに対する不必要な呼び出しを避けることができます。 – STaefi