首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.awt.Graphics中的方法是在哪里定义的?

java.awt.Graphics中的方法是在哪里定义的?
EN

Stack Overflow用户
提问于 2012-01-26 05:29:54
回答 2查看 319关注 0票数 3

我一直在考虑为我的几个项目制作自己的Java3D应用程序接口。(是的,我见过Java3D提供的Oracle应用编程接口。)java.awt.Graphics中定义了许多方法,比如drawRect(),但是一些基本函数是抽象的,比如drawLine()。在Graphics.java中没有实现的情况下,如何创建图形对象(如下面的代码所示)?

代码语言:javascript
复制
public void paint(Graphics g) {
    g.drawString("Hello World!");
}

任何帮助或解释都是非常感谢的!提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-26 05:38:19

这是特定于实现的,但这些方法通常是本机实现的,因此它们可以直接与本机窗口系统交互。您不能实例化Graphics对象,因为您希望使用的Graphics的具体实现可能是与本机系统交互的特定于实现的Graphics的子类型。强制Java库和JVM实现者为您创建此对象,从而使您不必处理操作系统级别的详细信息,并为图形包提供了通用的、类型安全的接口。

如果您想实现自己的包,则可能必须使用JNI来实现图形包。然后,您可以在OpenGL、DirectX或您喜欢的任何其他系统上实现图形。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2012-01-26 05:41:53

JRE从我的评论中复制:这些都是由原生实现的。

您可以创建缓冲图像,并为其获取图形对象:

代码语言:javascript
复制
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.getGraphics();   

另请参阅:http://www.coderanch.com/t/345202/GUI/java/Create-Graphics-object

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9010588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档