这是我的第一篇文章,我对编程非常陌生(自学)。如果我的术语不完全符合标准或我犯了任何其他失礼,请原谅我。我正在尝试编写一个使用两个类的程序,以便获取用户输入并使用该输入在屏幕上绘制一个简单的矩形。我已经完成了所有工作,但我无法识别用户生成的内容。我已经定义了一个“x”变量,用户为此输入了一个值,但该值每次都以“0”的形式传递。系统会提示用户输入一个整数值,该整数值将在创建填充矩形时用作“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);
}
}