如何在Java中重写Fillova函数?
我遇到的问题是,我想填充一个椭圆形,但我使用浮点数作为我的“x”和“y”值。以下是我所拥有的:如何在Java中重写Fillova函数?,java,swing,netbeans,graphics,paintcomponent,Java,Swing,Netbeans,Graphics,Paintcomponent,我遇到的问题是,我想填充一个椭圆形,但我使用浮点数作为我的“x”和“y”值。以下是我所拥有的: @Override public void paintComponent(Graphics g) { . . . for(Coordinates cord : tempVertices) { g.fillOval(cord.x,cord.y,DIAMETER,DIAMETER); } // DIAMETER = 10 // Coordinate Class is just a variabl
@Override
public void paintComponent(Graphics g)
{
.
.
.
for(Coordinates cord : tempVertices)
{
g.fillOval(cord.x,cord.y,DIAMETER,DIAMETER);
}
// DIAMETER = 10
// Coordinate Class is just a variable with an 'x' and 'y' value stored in floats
// Floats range from 0 to 1, so type casting won't work...
// tempVertices is just an ArrayList with Coordinates values
我使用的是NetBeans IDE 7.2,我不知道如何覆盖
Fillova
方法,我无法使用以下导入:import org.newdawn.slick.*代码>(它不会识别它)。有没有更好的图形
选项或更简单的方法来实现这个简单的圆角
您可能正在寻找Graphics2D
的fill()
g.fill(new Ellipse2D.Float(cord.x, cord.y, DIAMETER, DIAMETER));
您还需要探索任何受支持的java.awt.rendering暗示
您可能正在寻找fill()
方法,该方法接受任何Shape
:
g.fill(new Ellipse2D.Float(cord.x, cord.y, DIAMETER, DIAMETER));
您还需要探索任何受支持的java.awt.RenderingHints
什么是g
?看起来你想重写“其他人的”代码?这是在重载的paintComponent(Graphics g)函数中…你能把你的float转换成int吗<代码>g.Fillova((内部)(坐标x),(内部)(坐标y)…
No,它们的范围从0到1,因此它们都将被截断为0,当然,除非它们是1。Graphics
处理离散画布上的像素。除非出于某种原因尝试将椭圆放置在分数像素处,否则必须显式地将0..1范围转换为绝对坐标。不幸的是,您没有这样做真的解释了你到底想画什么。什么是g
?看起来你想覆盖“其他人的”代码?这是在一个重载的paintComponent(Graphics g g)函数中…你能把你的浮点值转换成int吗?g.fillOval((int)(coord.x),(int)(coord.y)…
No,它们的范围从0到1,因此它们都将被截断为0,当然,除非它们是1。Graphics
处理离散画布上的像素。除非出于某种原因尝试将椭圆放置在分数像素处,否则必须显式地将0..1范围转换为绝对坐标。不幸的是,您没有这样做真正解释了你到底想画什么。