これは私の最初の投稿であり、私はプログラミングに非常に慣れていません (独学)。私の用語が正確に標準に達していない場合や、他の間違いを犯している場合は、ご容赦ください。ユーザー入力を取得し、その入力を使用して画面に単純な四角形を描画するために、2 つのクラスを使用するプログラムを作成しようとしています。すべてが機能するようになりましたが、ユーザー生成コンテンツを認識できません。「x」変数を定義し、ユーザーがその値を入力しましたが、その値は毎回「0」として渡されます。ユーザーは、fillrectangle を作成するときに「x」値として使用される整数値を入力するよう求められます。ただし、実行すると、x 値は常に「0」になります。どういうわけか、変数「x」がユーザーが入力した値に変更されていません。
以下は私のコードですが、貧弱かもしれません。うまくいけば、誰かが私にいくつかのアイデアを与えることができます.
メインクラス
import javax.swing.JFrame;
import java.awt.*;
import java.util.*;
public class first {
public static void main(String[] args) {
second p = new second();
p.setValues();
p.getX();
JFrame j = new JFrame("New Rectangle");
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
second t = new second();
j.add(t);
j.setSize(500,500);
j.setVisible(true);
}
}
セカンドクラス
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class second extends JPanel{
int x;
public void setValues()
{
Scanner s = new Scanner(System.in);
System.out.println("Enter the X value");
x = s.nextInt();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackground(Color.WHITE);
System.out.println(x);
g.setColor(Color.BLUE);
g.fillRect(x, 20, 50, 50);
}
}