[英]Draw points as ovals using java swing
我有一個[x, y]
坐標的Point p = new Point(1, 2)
,例如Point p = new Point(1, 2)
。 我想形象化它。 但是,我希望這一點指向橢圓形,如下圖所示。
如何使用java Swing
做到這一點?
確定所需的橢圓形的大小,例如10 px。 然后繪制從Point
(x和y)開始的x和y點的橢圓形,減去size
一半。 就像是:
public class PointsPanel extends JPanel {
List<Point> points = new ArrayList<Point>();
int size = 10;
...
protected void paintComponent(Graphics g) {
super.paintComponent(g);
for (Point p : points) {
int x = p.x - size/2;
int y = p.y - size/2;
g.drawOval(x, y, size, size);
}
}
}
有關繪畫的更多常規細節,請參見執行自定義繪畫 。 另請參閱Graphics API,以了解其他drawXxx
和fillXxx
方法。
從您發布的圖像中,您需要的是一個圖布局庫,例如JUNG (不確定該項目的當前狀態)。 您可以按照peeskillet的回答進行操作,但需要注意橢圓形重疊等問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.