图形 : 垃圾收集 « SWT 二维图形 « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » SWT 二维图形 » 垃圾收集 
18. 1. 1. 图形
  1. The GC class (short for graphical context) forms the core of SWT's graphics engine.
  2. GC offers all the methods required for drawing shapes, text, and images.
  3. You can draw on Controls, Devices, or other Images.

Generally, drawing lifecycles consists of the following:

  1. Creating or obtaining a GC to draw on the desired target
  2. Drawing
  3. If you created the GC, disposing the GC

In code, the drawing lifecycle looks like this:

GC gc = new GC(display);
gc.drawRectangle(...);
gc.drawText(...);
gc.drawImage(...);
gc.dispose();

You generally put drawing code in a paint handler, like this:

图形
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class GCCreateFrom {
  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Canvas Example");
    shell.setLayout(new FillLayout());

    final Canvas canvas = new Canvas(shell, SWT.NONE);

    canvas.addPaintListener(new PaintListener() {
      public void paintControl(PaintEvent e) {
        GC gc = new GC(canvas);
        gc.setForeground(e.display.getSystemColor(SWT.COLOR_RED));
        gc.drawFocus(5520010);
        gc.drawText("You can draw text directly on a canvas"6060);
        gc.dispose();
      }
    });

    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }
}
18. 1. 垃圾收集
18. 1. 1. 图形图形
18. 1. 2. 避免构造GC避免构造GC
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.