Я новичок в графическом программировании. Я пытаюсь создать программу, которая позволяет рисовать ориентированные графы. Для начала мне удалось нарисовать набор прямоугольников (представляющих узлы) и сделал возможности панорамирования и масштабирования, переопределив метод рисования в Java.
Кажется, все это работает достаточно хорошо, хотя узлов не так много. Моя проблема в том, что когда я пытаюсь нарисовать точечную сетку. Сначала я использовал простой тестовый код, который перекрывал точечную сетку, используя два вложенных цикла for:
int iPanX = (int) panX;
int iPanY = (int) panY;
int a = this.figure.getWidth() - iPanX;
int b = this.figure.getHeight() - (int) iPanY;
for (int i = -iPanX; i < a; i += 10) {
for (int j = -iPanY; j < b; j += 10) {
g.drawLine(i, j, i, j);
}
}
Это позволяет мне панорамировать сетку, но не масштабировать. Однако производительность при панорамировании ужасна! Я много искал, но чувствую, что, должно быть, упускаю что-то очевидное, потому что ничего не могу найти по этому вопросу.
Любая помощь или указатели будут с благодарностью.
- Стивен