什么是图形上下文(在Java中)?

6

我已经多次见到这个术语,它是什么意思?

5个回答

8

"Context" 是许多Java开发人员用于携带状态信息的类的通用名称。因此,你会看到许多包含上下文的不同类名。

桌面Java中的图形上下文通常指 java.awt.Graphicsjava.awt.Graphics2D 类。它们携带有关绘图属性的信息:颜色、线条属性、剪辑区域等。


4

这是一个对象,您可以在SWING / AWT程序上使用它来绘制图形基元。

例如:

class JMyComponent extends JComponent
{
    @Override
    public void paint(Graphics g) {  
        // g contains graphics context
        g.fillOval(...);  // draw an oval on the component
        // more graphics primitives...
    }
}

几乎每个 UI 框架都存在类似的情况,无论是 Java 还是非 Java。

1
我想点赞,但在Swing中,自定义绘图是通过覆盖paintComponent(...)方法来完成的。 - camickr
@camickr:这取决于你想做什么。如果你有一个JPanel,除了你的自定义图形之外不包含任何东西(即没有组件),那么覆盖paint()是正确的选择,因为它带来的计算开销较小。 - Dreamspace President
@DreamspacePresident,请阅读有关自定义绘制的Swing教程。 - camickr

1

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接