关于swt的欢迎界面的例子,网上找了很就没有。后来自己就想用一个没有边框的shell加上一个滚动条来实现,具体的怎么用滚动条来检视后台,我还是没找到例子,现在就用一个白痴滚动条来暂时代替一下。白痴滚动条也就是想windows启动界面时出现的那样,一直不停的滚呀滚,呵呵。代码如下,
package com.sinosafe.swtdemo.welcome;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
/**
*
* @author zhong39
* 一个简单的启动界面的例子
*
*/
public class WelcomeInterface {
private static Shell shell;
public static void main(String[] args) {
Display display = new Display();
shell = new Shell(display, SWT.NO_TRIM |SWT.ON_TOP);
createContents(shell);
shell.setBounds(400, 200, 310, 250);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
protected static void createContents(Shell shell) {
shell.setLayout(new FillLayout());
Composite cm = new Composite(shell ,SWT.None);
cm.setLayout(new GridLayout(1,false));
Image ico = new Image(Display.getDefault(), "icons/welcome.gif");
Label label = new Label(cm,SWT.None);
label.setImage(ico);
final ProgressBar progressBar = new ProgressBar(cm, SWT.INDETERMINATE);
progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}
}
具体在我一个应用程序中怎么使用,
我暂时的想法是在程序启动界面开始时先传一个display过去,先启动这个界面,在启动应用程序界面,和要加载的数据,最后调用welcomeClose方法来关闭,下面是,修改过的代码.
package com.sinosafe.premium.application;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
/**
*
* @author zhong39
*
*/
public class WelcomeInterface {
private Shell welcomeShell;
public void open(Display display) {
//Display display = new Display();
welcomeShell = new Shell(display, SWT.NO_TRIM);
createContents(welcomeShell);
welcomeShell.setBounds(400, 200, 310, 250);
welcomeShell.open();
}
protected void createContents(Shell shell) {
shell.setLayout(new FillLayout());
Composite cm = new Composite(shell ,SWT.None);
cm.setLayout(new GridLayout(1,false));
Image welcome = new Image(Display.getDefault(), "images/welcome.gif");
Label label = new Label(cm,SWT.None);
label.setImage(welcome);
ProgressBar progressBar = new ProgressBar(cm, SWT.INDETERMINATE);
progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}
public void welcomeClose(){
welcomeShell.close();
}
}
总的来说就是shell的风格没有边框就是,其他的没什么特别的,还有图片的话,这个大家一定得弄个上去,不然的话肯定是显示不出来了。
好了,第开天辟地的第一篇就写个浮浅的东西,主要是这方面的网上好难早,所以我写的关于这方面的我个人的愚见,希望能节省到有这方面需要的人的时间。
posted on 2007-09-10 13:08
逝去的圣男 阅读(1009)
评论(1) 编辑 收藏