Я новичок в Java. У меня проблема с drawrect
Сначала вот мой патрон.
public void paintComponent(Graphics g) {
int eraseNumber=coordinates.length; // eraseNumber = 10;
while(eraseNumber != -1) {
super.paintComponent(g);
DrawShapes(g);
eraseNumber= EraseShapes(g);
}
}
public void DrawShapes(Graphics g) {
for(int count=0; count< coordinates.length; count++) {
g.setColor(coordinates[count].GetColor());
switch(choice) {
case 1:
g.drawOval(coordinates[count].GetX1(),coordinates[count].GetY1()
,coordinates[count].GetX2(), coordinates[count].GetY2());
break;
case 2:
g.drawRect(coordinates[count].GetX1(),coordinates[count].GetY1()
,coordinates[count].GetX2(), coordinates[count].GetY2());
break;
case 3:
g.drawLine(coordinates[count].GetX1(),coordinates[count].GetY1()
,coordinates[count].GetX2(), coordinates[count].GetY2());
break;
default:
System.out.println("choice error!");
}
}//for end
}
public int EraseShapes(Graphics g) {
System.out.println("Enter eraseNumber to erase shape:");
int eraseNumber = input.nextInt();
if(eraseNumber == -1) return eraseNumber;
Color eraseColor = Color.WHITE;
coordinates[eraseNumber] = new Coordinates(0,0,0,0,eraseColor); return 0;
}
У меня есть 10 элементов для рисования. Сначала я хочу нарисовать все это, а затем я хочу сделать цвет некоторых элементов в цвет фона (для удаления элементов). Наконец, я хочу нарисовать все эти элементы (надеюсь, некоторые элементы не видны).
Но проблема в том, что я получил ввод с клавиатуры в EraseShapes. и при первом рисовании все элементы рисования не видны, пока я не завершил ввод с клавиатуры (введите -1, поэтому обрывайте цикл).
Все, что я вижу, это конечные элементы (так как форма некоторых элементов не видна)
Я хочу видеть как первые элементы (перед удалением некоторых элементов), так и конечные элементы (так как формы некоторых элементов не видны).
Что мне делать?