我正在尝试通过存储需要绘制的线条来制作填充桶工具。我的那部分工作得很好,但是现在当我尝试缩放它时,我遇到了一个问题,即我有一些区域没有画在某些线条之间。有没有办法解决这个问题,或者有更好的方法来做到这一点?
此代码将演示我遇到的问题。第一个正方形没有缩放并且看起来不错,但是当我缩放第二个框时,一些线之间有空间。
import java.awt.*;
import javax.swing.*;
public class LineWidth extends JPanel{
public static void main(String[] args) {
LineWidth l = new LineWidth();
l.setPreferredSize(new Dimension(500, 500));
l.setBackground(Color.CYAN);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(l);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g.create();
g2.setColor(Color.BLACK);
for(int i=10; i<110; i++) {
g2.drawLine(10, i, 190, i);
}
Graphics2D g22 = (Graphics2D) g.create();
g22.setColor(Color.BLACK);
g22.scale(2.1, 2.1);
for(int i=120; i<220; i++) {
g22.drawLine(10, i, 190, i);
}
}
}
对于这个例子,绘制一个矩形而不是线条会容易得多,但是对于我的填充桶,我看不到这样做的方法。
谢谢。