这是我的代码:
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.drawString("This is my string", 200, 200);
}
这是正常的;文本出现反锯齿。但是,它为什么有用呢?文本由g对象绘制,但是据我所知,为g2对象打开了抗锯齿。 g对象如何获得它?
答案 0 :(得分:1)
Graphics2D g2 = (Graphics2D) g;
g 和 g2 都是对同一对象(g)的引用。 g将对象称为 Graphics2D ,而g2将对象称为 Graphics2D 。
答案 1 :(得分:1)
g
和g2
都是对同一对象的引用。在运行时,引用的类型并不重要 - 您有该对象运行方法。