Java BasicStroke“模糊”

我正在尝试用Java编写一个简单的绘图applet,但是我遇到了BasicStroke 。 最初,我的计划是试图以某种方式画一条宽度的线,但API显然不支持这一点。

我尝试使用BasicStroke ,但结果只是一个模糊的混乱。 我该如何修复这个模糊问题?

典型的结果

 private void mousedrag_hook(Point point) { if(start == null) start = point; end = point; Graphics2D g2d = (Graphics2D)applInstance.buffer_g; g2d.setStroke(new BasicStroke(7)); //g2d.fillOval(point.x - 5, point.y - 5, 10, 10); g2d.drawLine(start.x, start.y, end.x, end.y); applInstance.repaint(); start = end; } 

不要忘记RenderingHints

 @Override public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); ... }