私はJavaでグラフィックスを始めたばかりで、問題があります。JPanel パネルを使用して JFrame ウィンドウ (NetBeans Designer) を作成し、そこにいくつかのグラフィックを描画しました。次に、JPanel 上の正方形の X 位置を変更する変数を変更する JButton を追加しました。
ボタンを押すと、次のコードが実行されます。
drawObject.setX(150);
drawObject.repaint();
drawObject はこのクラスのインスタンスです:
public class sola extends JPanel {
private int x = 10;
@Override
public void paintComponent(Graphics g){
super.paintComponents(g);
super.setBackground(Color.WHITE);
g.setColor(Color.ORANGE);
g.fill3DRect(x, 160, 100, 50, true);
}
public void setX(int xX){
x = xX;
}
}
ここで、JButton を押すと、長方形は新しい位置に移動しますが、古い位置にまだ表示されています。ウィンドウのサイズを変更したときにのみ、ウィンドウが更新され、古い長方形が消えます。この問題を解決するにはどうすればよいですか? ボタンを押すと、長方形は新しい位置にのみ表示されますか?