画像を保持している JLabel をクリックすると、JLabel に円が表示されるプログラムを作成しています。これは私の macintosh/java6 では問題なく動作しますが、windows/java7 を使用していると、あらゆる種類の奇妙なことが起こります。画像の一部に円を描くことができません。写真の真ん中にある見えない四角のようなものです。また、サークルが消えて別のタイミングで戻ってくることもあります。新しい円を描くたびに、すべての円がラベルの上に再描画されます。
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);
}
}
誰がこれを引き起こす可能性があるか知っていますか?