假设我们总是使用Sun JVM(比如1.5+),那么将Graphics引用转换为Graphics2D总是安全的吗?
我还没有看到它导致任何问题,据我所知,Graphics类是遗留代码,但Java设计者不希望更改Swing和AWT类的接口以保持向后兼容性.
Rol*_*der 10
在Chet Haase和Romain Guy 的书Filthy Rich Client中,他们说Swing几乎总是使用一个Graphics2D对象.例外情况是打印和Swing的DebugGraphics对象.因此,只要这些情况都不适用于您的代码,就可以安全地进行转换Graphics2D.
两位作者都在Sun工作,所以我认为他们知道他们在谈论什么.
小智 6
在2D图形小道说:
要在应用程序中使用Java 2D API功能,请将传递到组件的呈现方法中的Graphics对象转换为Graphics2D对象.例如:
public void paint (Graphics g) {
Graphics2D g2 = (Graphics2D) g;
...
}
Run Code Online (Sandbox Code Playgroud)
这是我能找到的最"官方"的来源.直接来自Sun的Java教程,我会说这是官方认可的方式.如果JavaDocs拼写出来,我不会完全明白,不过......
| 归档时间: |
|
| 查看次数: |
13836 次 |
| 最近记录: |