A
splash screen is a graphical control element consisting of window containing an
image, a logo and the current version of the software. A splash screen usually
appears while a game or program is launching.
How to create splash
screen in SWT?
Create
a Shell instance with style 'SWT.NO_TRIM'.
Shell
shell = new Shell(display, SWT.NO_TRIM);
Following
is the complete working application.
package test; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class Test { private static String imagePath = "C:\\Users\\Downloads\\icons\\car.png"; private static void addGraphicsToShell(Display display, Shell shell) { Image img = new Image(display, imagePath); ImageData imdata = img.getImageData(); shell.setSize(imdata.width, imdata.height); Rectangle r = display.getBounds(); int shellX = (r.width - imdata.width) / 2; int shellY = (r.height - imdata.height) / 2; shell.setLocation(shellX, shellY); shell.open(); GC gc = new GC(shell); gc.drawImage(img, 0, 0); System.out.println("Sleeping for 5 seconds"); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } img.dispose(); gc.dispose(); shell.dispose(); display.dispose(); } public static void main(String[] args) { /* Instantiate Display object, it represents SWT session */ Display display = new Display(); /* * Define Shell, it represent a window, You can add more than one shell * to Display */ Shell shell = new Shell(display, SWT.NO_TRIM); addGraphicsToShell(display, shell); /* * Run the event dispatching loop until an exit condition occurs, which * is typically when the main shell window is closed by the user. */ while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } /* Dispose the display */ display.dispose(); } }
No comments:
Post a Comment