如何在Java中重写Fillova函数?

如何在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

我遇到的问题是,我想填充一个椭圆形,但我使用浮点数作为我的“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 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范围转换为绝对坐标。不幸的是,您没有这样做真正解释了你到底想画什么。