我正在製作一個程序,您可以在其中單擊一個包含圖像的JLabel,並且圓圈將出現在JLabel上。這在我的macintosh/java6上完美無瑕,但是當我使用windows/java7的 時,會發生各種奇怪的事情。在圖像的某些部分,您不能繪製一個圓圈 。這就像圖片中間的一個看不見的廣場。有時候,這個圈子會消失,並在不同的時間回來。 每次我畫一個新的圈子,所有的圈子都在標籤的頂部重繪。Java圖形行爲奇怪
public void paint(JComponent label) {
Graphics g = label.getGraphics();
for (T node : nodes.keySet()) {
Point p = nodes.get(node);
Color color;
if (p.selected) {
color = Color.RED;
} else {
color = Color.BLUE;
}
g.setColor(color);
g.fillOval(p.x, p.y, circleRadius*2, circleRadius*2);
g.setColor(Color.BLACK);
g.setFont(new Font("Helvetica", 20, 20));
g.drawString((String) node, p.x, p.y);
}
}
有誰知道是什麼原因造成的?
使用'public void paintComponent(final Graphics g)'。你必須重寫它。 – 2013-03-16 22:39:55
爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2013-03-17 00:08:28
在做圖形編程之前,你需要閱讀教程,因爲它需要拋出一些舊的假設。 – 2013-03-17 00:47:38