这是我的界面
package Tools;
import java.awt.Color;
import java.io.Serializable;
/**
*
* @author DELL-PC
*/
public interface ToolsModel extends Serializable {
public void setColor(Color color);
public Color getColor();
public void setVisible(boolean b);
public boolean isVisible();
public void setID(String id);
public String getID();
public ToolsModel getShape();
}
我已经使用这个界面创建了一些不规则的形状,并且从这个界面我想在界面上添加Add.Subtract并且它工作正常但是有些白色凸起。
这是我的代码,用于在界面上添加,减去。
public void trimShade(ToolsModel toolsModel) {
System.out.println("I am at TrimShade");
Area area = new Area();
for (ToolsModel model : getShadeList()) {
if (model.equals(toolsModel) || model.getID().equals(toolsModel.getID())) {
continue;
}
area.add(new Area((Shape)model));
if (!area.isEmpty()) {
((Area) model).subtract(new Area((Shape)toolsModel));
}
}
}
首先我们在这里绘制多边形不规则形状,然后在第一个形状内绘制下一个形状。
这是输出结果:
如何删除两个区域加减后产生的白线。它是第二个区域的边界。
答案 0 :(得分:0)
我得到了解决方案,当我评论抗锯齿和质量渲染提示时,我解决了问题。
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);