简明现代魔法 -> Java编程语言 -> SWT之路:SWT图像显示

SWT之路:SWT图像显示

2009-10-03

程序演示

还是先用SWT Desiner创建界面程序。然后创建一个Display对象和Image对象,和一个GC对象。类org.eclipse.swt.graphics.GC是一个封装了所有可执行的绘图操作的图形上下文(Graphics Context)。然后以Display和图片路径创建Image对象,再调用gc.drawImage();就可以显示图片了。

程序代码

package SWT;

import org.eclipse.swt.graphics.GC;  
import org.eclipse.swt.graphics.Image;  
import org.eclipse.swt.widgets.Display;  
import org.eclipse.swt.widgets.Shell;  
  
public class showImages {  
  
    protected Shell shell;  
    public static Display myDisplay;  
    public static boolean internalCall = false;  
  
    /** 
     * Launch the application. 
     * @param args 
     */  
    public static void main(String[] args) {  
        internalCall = true;  
        myDisplay = new Display();  
        try {  
            showImages window = new showImages();  
            window.open();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    /** 
     * Open the window. 
     */  
    public void open() {  
        Display display = Display.getDefault();  
        createContents(myDisplay);  
        Image img = new Image(display, "images/3.jpg");  
        shell.open();  
        GC gc = new GC(shell);  
        gc.drawImage(img, 0, 0);  
        shell.layout();  
        while (!shell.isDisposed()) {  
            if (!display.readAndDispatch()) {  
                display.sleep();  
            }  
        }  
        img.dispose();  
        if (internalCall) display.dispose();  
    }  
  
    /** 
     * Create contents of the window. 
     */  
    protected void createContents(Display display) {  
        myDisplay = display;  
        shell = new Shell();  
        shell.setSize(520, 280);  
        shell.setText("图像显示");  
    }  
}

一旦你创建了一个GC,你就有责任通过它的dispose方法释放它的资源。一个由应用程序创建的GC需要立即被绘制,然后尽快释放掉。这是因为每个GC都需要一个底层的系统资源,而在某些操作系统中这些资源是稀缺的,像Win98就只允许同时创建五个GC对象。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们