
This is the simplified code:
Код: Выделить всё
public class Draw {
public static void main(String[] args) {
JFrame frame = new JFrame("Draw");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
frame.add(new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
for (int i = 0; i < 200; i++) {
g.drawLine(i, i, i + 1, i + 1);//function driven 2d walk, replaced by diagonals for SO purpose
}
g.setColor(Color.GREEN);
g.drawLine(10, 0, 210, 200);//reference line
}
});
}
}
< /code>
В этом примере синяя линия должна иметь ту же форму, что и зеленая линия, но она зазубрена. Обратите внимание, что renderinghints.key_antialiasing проблема. Я использую Java (TM) SE среды выполнения 18,9 в Windows 11.
Подробнее здесь: https://stackoverflow.com/questions/796 ... g-java-awt