Инструкции - создать объекты Crayon с высотой, расположением и цветом. Объект также должен рисовать карандаш. Программа должна иметь и держать 8 разных карандашей разных цветов. Мелки должны помочь в ArrayList
. Нам требуются три класса: Crayon
, CrayonBoxComponent
и CrayonBoxViewer
. Мои классы просто не работают, и я не уверен, как подключить эти три класса. Кроме того, я не знаю, как рисовать карандаш внутри объекта Crayon. Кроме того, карандаши должны быть нарисованы с использованием loop
, которые я также не знаю, как это сделать. Спасибо!Пытаясь создать три класса и нарисуйте карандаш. Как рисовать карандаши в конструкторе?
import java.awt.*;
import java.util.Random;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class Crayon extends JComponent
{
int loc;
int h;
Color myColor;
private JPanel panel;
public Crayon(int location, int height, Color input)
{
loc=location;
h=height;
myColor=input;
}
public void paint(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.setColor(myColor);
g.fillRect(loc, 40, 40, h);
}
}
...
import java.awt.*;
import java.util.Random;
import javax.swing.JComponent;
import java.util.ArrayList;
class CrayonBoxComponent extends JComponent
{
public void paint(Graphics g)
{
//typecast
Graphics2D g2 = (Graphics2D) g;
ArrayList<Crayon> box = new ArrayList<Crayon>();
Crayon c1=new Crayon(10, 200, Color.RED);
box.add(c1);
Crayon c2=new Crayon(60, 200, Color.BLUE);
box.add(c2);
Crayon c3=new Crayon(110, 200, Color.CYAN);
box.add(c3);
Crayon c4=new Crayon(160, 200, Color.GREEN);
box.add(c4);
Crayon c5=new Crayon(210, 200, Color.MAGENTA);
box.add(c5);
Crayon c6=new Crayon(260, 200, Color.ORANGE);
box.add(c6);
Crayon c7=new Crayon(310, 200, Color.BLACK);
box.add(c7);
Crayon c8=new Crayon(360, 200, Color.YELLOW);
box.add(c8);
}
}
....
import java.awt.*;
import java.util.Random;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class CrayonBoxViewer
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setSize(1000, 1000);
frame.setTitle("Crayon Box");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
CrayonBoxComponent component = new CrayonBoxComponent();
frame.add(component);
frame.setVisible(true);
}
}