это мой первый пост, и я очень новичок в программировании (преподаю сам). Пожалуйста, простите меня, если моя терминология не соответствует действительности, или я делаю какие-либо другие ошибки. Я пытаюсь написать программу, которая использует два класса для ввода пользователя и использования этого ввода для рисования простого прямоугольника на экране. Я получил все, чтобы работать, но я не могу получить узнаваемый пользовательский контент. Я определил переменную «x», и пользователь вводит значение для этого, но это значение передается как «0» каждый раз. Пользователю будет предложено ввести целочисленное значение, которое будет использоваться как значение «x» при создании fillrectangle. Однако при запуске значение x всегда равно «0». Так или иначе переменная «х» не изменяется на введенное пользователем значение.Установка переменных, которые должны быть распознаны другими методами
Ниже мой код, такой же бедный, как может быть. Надеюсь, кто-то может дать мне пару идей.
ГЛАВНЫЙ КЛАСС
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);
}
}
Нужен код для second.getX(). –
@ user2714543 На самом деле код не так уж плох. Единственное, что я вижу, это то, что по соглашению имена классов должны быть капитализированы. –