package jalview.gui; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SplashScreen extends JPanel implements Runnable { boolean visible = true; JInternalFrame iframe; Image image; public SplashScreen(JInternalFrame iframe, Image i) { this.iframe = iframe; image = i; Thread t = new Thread(this); t.start(); addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { try { closeSplash(); } catch (Exception ex) {} } }); } public void run() { long startTime = System.currentTimeMillis()/1000; while( visible ) { if( System.currentTimeMillis()/1000 - startTime > 5) visible = false; try{ Thread.sleep(400); iframe.setSelected(true); } catch(Exception ex){} } closeSplash(); } public void closeSplash() { try { iframe.setClosed(true); } catch (Exception ex) {} } int fontSize = 11; int yoffset = 30; public void paintComponent(Graphics g) { g.setColor(Color.white); g.fillRect(0,0,getWidth(),getHeight()); g.setColor(Color.black); g.setFont( new Font("Verdana", Font.BOLD, fontSize+6)); if(image!=null) g.drawImage(image, 5,yoffset+12,this); g.drawString("JalView 2005 ", 50,yoffset); g.setFont( new Font("Verdana", Font.BOLD, fontSize+2)); g.drawString("Version "+jalview.bin.Cache.VERSION+"; Last updated: "+jalview.bin.Cache.BUILD_DATE, 180,yoffset); g.setFont( new Font("Verdana", Font.BOLD, fontSize)); g.drawString("Authors: Michele Clamp, James Cuff, Steve Searle, Andrew Waterhouse, Jim Procter & Geoff Barton.",50,yoffset+20); g.drawString("Current development managed by Andrew Waterhouse; Barton Group, University of Dundee.",50,yoffset+24+fontSize); g.drawString("If you use JalView, please cite: Clamp, M., Cuff, J., Searle, S. M. and Barton, G. J. (2004),",50,yoffset+28+fontSize*2); g.drawString("\"The Jalview Java Alignment Editor\" Bioinformatics, 2004 12;426-7.",50,yoffset+32+fontSize*3); } }