上部にborderX1-Y2の変数を作成しましたが、ペイントメソッドまで割り当てませんでした。メソッド内の値を確認したところ、値は正しいのですが、別のメソッドで確認すると 0 です。値を保持するにはどうすればよいですか?
public void paint(Graphics g)
{
borderX1 = 20;
borderY1 = 20;
borderX2 = getWidth();
borderY2 = getHeight();
g.setColor(Color.white);
g.fillRect(0, 0, borderX2, borderY2);
g.setColor(Color.blue);
g.drawRect(borderX1, borderY1, borderX2 - 40, borderY2 - 40);
}
その他はこちら(不要な部分はカットしています)
public class ShapePanel extends JPanel
{
private int borderX1;
private int borderY1;
private int borderX2;
private int borderY2;
public ShapePanel(){}
public void paint(Graphics g)
{
borderX1 = 20;
borderY1 = 20;
borderX2 = getWidth();
borderY2 = getHeight();
g.setColor(Color.white);
g.fillRect(0, 0, borderX2, borderY2);
g.setColor(Color.blue);
g.drawRect(borderX1, borderY1, borderX2 - 40, borderY2 - 40);
}
public int getX1()
{return borderX1;}
public int getY1()
{return borderY1;}
public int getX2()
{return borderX2;}
public int getY2()
{return borderY2;}
}
私のエラーは私の返品にあり、それらはすべて0の値を返します
このように変数を初期化できます
private int borderX1 = 20;
private int borderY1 = 20;
private int borderX2 = 762;
private int borderY2 = 533;
しかし、ウィンドウサイズに基づいて X2 と Y2 の値を変更したい