簡體   English   中英

在Java AWT中繪制矩形

[英]Drawing Rectangles in Java awt

我對使用AWT方法繪制Rectangle對象感興趣(我知道,它很舊)。 我在論壇上查看了其他具有答案的代碼,但它們對我不起作用。 這就是我想要做的...

paint(Graphics g) {
    Rectangle r = new Rectangle(5,5,20,20);
    g.drawRect(r.getX(),r.getY(),r.getWidth(),r.getHeight());
}

但是我要做的是:

g.drawRect((int)r.getX().........);

並將每個值都轉換為一個int 難道我做錯了什么? 我發現的代碼示例具有無需強制轉換的解決方案。 如果我不進行轉換,則會出現錯誤。 當然,應該有一些更簡單的方法。

提前致謝。

在javadoc中我們可以看到這些方法返回一個雙精度值,並且Graphics中的drawRect方法使用整數作為參數,如此處所述 ,因此您必須將double轉換為整數。

您可以將Graphics轉換為Graphics2D,以使用其draw()方法繪制“ java.awt.shap”對象,如下所示:

paint(Graphics g) {
   Grahpics2D g2 = (Graphics2D) g;
   Shape s = new Rectangle(5,5,20,20);
   g2.draw(s);
}

這是一種簡單的方法。 我想到了:

paint(Graphics g) {
    Rectangle r = new Rectangle(5,5,30,30);
    g.drawRect(r.x,r.y,r.width,r.height);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM