---
title: "Splash screen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/92783-splash-screen"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Nickemannen"
published: "2003-12-16T11:37:28.000Z"
updated: "2003-12-18T08:06:51.000Z"
replies: 7
views: 427
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/92783-splash-screen"
---

# Splash screen

## #1 — Nickemannen, 2003-12-16T11:37Z

Någon som har ett extremt simpelt och lätt exempel på en splashscreen??

Permalänk: https://www.webforum.nu/p/92783

## #2 — jme, 2003-12-16T14:23Z

Här har du...

```php
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Splash extends JFrame implements Runnable
{
	private int time;
	
	public Splash(int pSec)
	{
		time = pSec; 
		
		Thread t = new Thread(this);
		
		getContentPane().add(new JLabel("Hej, jag är en enkel splash screen") );
		
		setUndecorated(true); 
		setBounds(100, 100, 300, 300);
		
		setVisible(true);
		
		t.start();
	}
	
	public void run()
	{
		try
		{
			Thread.sleep( time * 1000);	// resultatet blir i sekunder
			setVisible(false);
		}
		catch(Exception e){ }
	}
	
	public static void main(String[] args)
	{
		new Splash(5);
	}
}
```

Permalänk: https://www.webforum.nu/p/1229799

## #3 — Aleph_One, 2003-12-16T14:56Z

Kan centrera lite snyggt med:

```
int mScreenHeight  = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int mScreenWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int mSplashHeight = 300;
int mSplashWidth = 300;
setBounds(mScreenWidth/2-mSplashHeight/2, mScreenHeight/2-mSplashHeight/2, mSplashWidth, mSplashHeight);
```

Permalänk: https://www.webforum.nu/p/1229815

## #4 — Nickemannen, 2003-12-16T15:31Z

Jag vill ha en bild istället för text.. hur jag skapar ett bild objekt och så var inte så svårt men hur skall jag lägga till den till Jframen så att den visas ?

Permalänk: https://www.webforum.nu/p/1229842

## #5 — jme, 2003-12-16T16:36Z

Du skapar metoden paint(Graphics g). 

paint(Graphics g) är en metod som din klass (om din klass ärver från JFrame) ärver från klassen Component. 

Metoden paint(Graphics g) i Component är tom, dvs man har låtit ärvande klasser implementera den på valfritt sätt. Detta måste du även göra. 

Metoden paint(Graphics g) anropas varje gång JFrame i detta fall måste uppdateras. Men du kan även själv anropa metoden när du vill.

För att rita upp en bild så kan du göra på detta vis:

```php
public void paint(Graphics g)
{
	g.drawImage(image, 100,100, this);
}
```

 

Du måste givetvis ha en bild objekt som heter image.

Ovanstående metod kan du klistra in i din klass, Den anropas minst en gång när ditt program startas. Den kommer då att rita upp bilden vid x = 100 och y = 100,

Permalänk: https://www.webforum.nu/p/1229880

## #6 — Nickemannen, 2003-12-17T09:46Z

,,

Permalänk: https://www.webforum.nu/p/1230233

## #7 — Nickemannen, 2003-12-17T22:22Z

Min bild kommer inte i mitten även om jag använder

int mScreenHeight  = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int mScreenWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int mSplashHeight = 300;
int mSplashWidth = 300;
setBounds(mScreenWidth/2-mSplashHeight/2, mScreenHeight/2-mSplashHeight/2, mSplashWidth, mSplashHeight);
Och ändrar dom till bildens storlek samt skriver 0,0 i draw.. den är för mycket åt höger :S.

Permalänk: https://www.webforum.nu/p/1230703

## #8 — Aleph_One, 2003-12-18T08:06Z

> **Nickemannen skrev:**
>
> Min bild kommer inte i mitten även om jag använder
> 
> int mScreenHeight  = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
> int mScreenWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
> int mSplashHeight = 300;
> int mSplashWidth = 300;
> setBounds(mScreenWidth/2-mSplashHeight/2, mScreenHeight/2-mSplashHeight/2, mSplashWidth, mSplashHeight);
> Och ändrar dom till bildens storlek samt skriver 0,0 i draw.. den är för mycket åt höger :S.

Jag skrev lite fel i setBounds, första mSplashHeight ska vara mSplashWidth.

SKa du använda en bild så behöver du inte bry dig om storleken egentligen:

```
	public void display()
	{
		ImageIcon img = new ImageIcon("splash.jpg");
		getContentPane().add(new JLabel(img));
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		int screenh = (int)screen.getHeight();
		int screenw = (int)screen.getWidth();
		int splashh = img.getIconHeight();
		int splashw = img.getIconWidth();
		setBounds(screenw/2-splashw/2, screenh/2-splashh/2, splashw, splashh);
		setUndecorated(true);
		setVisible(true);
	}
```

Permalänk: https://www.webforum.nu/p/1230838

---

Tråden på webben: https://www.webforum.nu/amne/java/92783-splash-screen
