В этой программе, которую я делаю, мне нужно заполнить фигуры случайными цветами. Я смущен тем, как на самом деле заполнить форму. Я могу генерировать случайный цвет. Я просмотрел информацию в Интернете и нашел, что некоторые источники рассказывают о внедрении интерфейса Paint
и используют метод setPaint()
в форме, которую вы хотите сделать, а затем вызывают метод fill
. Я пробовал это, но не увенчался успехом. Возможно, я просто ошибся. Вот что я имел.Заполните фигуру случайным цветом в java
Random rand = new Random();
float r = rand.nextFloat();
float g = rand.nextFloat();
float b = rand.nextFloat();
Color randomColor = new Color (r, g, b);
Это было в конструкторе суперкласса, где я на самом деле имеют randomColor
как атрибут класса. Поэтому для доступа к этому элементу в подклассе я предоставляю базовый getter, который просто возвращает Color.
В подклассе у меня есть это:
Rectangle2D.Double rectangle = new Rectangle2D.Double(getX(), getY(), getWidth(), height);
rectangle.setPaint(getColor());
rectangle.fill();
g2.draw(rectangle);
Ошибка я получаю что-то о типажей rectangle
но любой напечатанный я стараюсь это не работает. Я не совсем уверен, как решить эту проблему. Есть идеи? Или есть более простой/лучший способ заполнить фигуру случайным цветом? Благодарю.
Не будет 'rand.nextInt (256);' больше смысла? – JonK
Типизация не имеет ничего общего со случайными цветами. Покажите нам точную ошибку, которую вы получите, и код, который находится. – zapl