2014-01-15 2 views
0

Я делал случайный генератор строк для удовольствия, и когда я запускаю программу, строка «Y (End):» выглядит очень странно. Цифры отображаются в виде прямоугольных символов, которые не имеют значения.drawString() Непосредственно показывает случайное целое число

Вот мой код:

public class LineFractal extends Applet { 
Random random = new Random(); 
int width = 640; 
int height = 640; 
int x = 1000; 
int endy1 = random.nextInt(width/2); 
int endx1 = random.nextInt(width/2); 
int starty1 = random.nextInt(width/2); 
int startx1 = random.nextInt(width/2); 
int space = random.nextInt(25); 
public void init() { 
    setSize(width, height); 
    Frame c = (Frame)this.getParent().getParent(); 
    c.setTitle("Line Generator"); 
} 
public void paint(Graphics g) { 
    while (x > 0) { 
     x -= 1; 
     g.drawLine(startx1, starty1, endx1, endy1); 
     g.drawString("Space: " + space, width-100, height-10); 
     g.drawString("Y (End): " + endy1, width-100, height-20); 
     endy1 += space; 
     endx1 -= space; 
    } 
} 
} 

Почему он это делает?

EDIT: просто попробовал программу еще раз, и y был правильно отображен правильно. Но потом я снова побежал, и только последнее число можно было увидеть. В последний раз, когда я запустил его, не было чисел, которые были бы читаемыми ...

ответ

1

Вы, кажется, печатаете строку Y (End), а затем цифру поверх самой себя 1000 раз. Очевидно, что это нормально для текста, но часть номера будет выглядеть грязной очень быстро! Представьте себе, что пишите 0 1 2 3 4 5 6 7 8 9 все друг на друга.

Возможно, вы хотите нарисовать белый (или любой цвет фона) заполненный прямоугольник в область, где должны быть напечатаны строки, чтобы просто очистить их.

+0

Строка «пробел» отображается правильно. Это потому, что это меньшее число? – tasteslikejava

Смежные вопросы