我正在开发一个applet,用户可以在其中放置一些标记,并使用鼠标在图像上画线。
我放置行和标记的空间是一个JPanel。我创建标记为JComponents,行是简单的Line2D。
标记是透明的正方形,圆圈中充满了颜色。
我在JPanel上安装了一些鼠标,以放大和拖动图像。标记上也有鼠标增强器,对于路径,我在JPanel中添加了新的鼠标增强器。当我必须画一条线时,我会删除标记的侦听器。
我在做标记上没有问题。这些行只能从标记或另一行开始。当我试图画一条线时,我点击一个标记并拖动鼠标。我可以看到标记的透明部分上的线,如果我靠近另一个,我可以看到这条线也出现在这些.但在这两个标记之间的空隙里没有任何东西。
我不知道是哪个问题,我重写了paintComponent方法的JPanel,并使用它的Graphics2D。
如果你需要什么,随便问。
发布于 2012-12-07 08:11:24
好吧,我通过一个临时测试找到了解决方案。
在paintComponent of JPanel中,在绘制行后,我遗漏了以下两个命令:
this.revalidate();
this.repaint();现在一切都很好。
https://stackoverflow.com/questions/13746298
复制相似问题