Мне нужно будет получить координаты местоположения всех чертежей, которые я создаю в методе paintComponent. Как я могу это сделать?Получить расположение нескольких чертежей в paintComponent
Обратите внимание, что я использую таймер для выполнения некоторых анимаций, поэтому координаты изменяются при каждом тике таймера.
public class TestPane extends JPanel {
private int x = 0;
private int y = 100;
private int radius = 20;
private int xDelta = 2;
public TestPane() {
Timer timer = new Timer(10, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
x += xDelta;
if (x + (radius * 2) > getWidth()) {
x = getWidth() - (radius * 2);
xDelta *= -1;
} else if (x < 0) {
x = 0;
xDelta *= -1;
}
label.setText(x+" "+y);
repaint();
}
});
timer.start();
}
Больше кода ...
protected void paintComponent(Graphics g) {
Random random = new Random();
super.paintComponent(g);
g.setColor(Color.ORANGE);
g.fillOval(random.nextInt(500), random.nextInt(500) - radius, radius * 2, radius * 2);
g.setColor(Color.BLUE);
g.fillOval(y, x - radius, radius * 2, radius * 2);
// label.setText(label.getText()+ x+" "+y); ;
g.setColor(Color.RED);
g.fillOval(x, y - radius, radius * 2, radius * 2);
// label.setText(label.getText()+ x+" "+y);
}
* «Мне нужно будет получить координаты местоположения всех чертежей, которые я создаю ..» * Ummm .. для двух из них вы * поставляете * x любые y, а для другого вы можете хранить 'random.nextInt (500)' в атрибуте уровня класса перед его использованием. Если это не решение этого вопроса, я не понимаю вопроса! –
@AndrewThompson Прошу прощения, я добавил часть таймера наверху. Таким образом, каждый раз, когда таймер галочки позиции меняются. – ocram
См. «Список» в приведенном примере [здесь] (http://stackoverflow.com/a/11944233/230513). –
trashgod