# Splash Screen erscheint nicht



## stylegangsta (13. Sep 2015)

Hallo zusammen,

ich habe einen JFrame. Aber bevor dieser erscheint, soll vorher noch ein Splash Screen erscheinen. Es erscheint allerdings direkt der JFrame. Codes hab ich hier und keinerlei Idee.

Habe zwar schon gegoogelt und hier im Forum gesucht, bin aber aus den Ergebnissen nicht wirklich Schlau geworden bzw, hab die irgendwie nicht verstanden.

Ich habe in meiner main folgenden Code: (Der Splash Aufruf ist durch Linien zur besseren Auffindung abgetrennt) und eine Klasse SplashScreen, die folgt darunter.

```
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

import ProgramWindow.AEKFrame;

public class BedienOberFlaeche {

    public static void main(String[] args) {

        // Passt die Darstellung an das jeweilige Betriebssystem an
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
----------------------------------------------------------
        // SplashScreen Aufruf
        Thread splashScreen = new Thread();
        splashScreen.start();
---------------------------------------------------------
       
        // Grafische Darstellung des Programms
        /*
         * JFrame frame = new JFrame(); "Startet die Bedienoberfläche"
         */
        JFrame frame = new AEKFrame();
        frame.setVisible(true);
    }
}
```


```
package ProgramWindow;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JFrame;

@SuppressWarnings("serial")

public class SplashScreen extends JFrame implements Runnable {

    public void run() {
        setSize(1280, 960);
        setLocationRelativeTo(null);
        setVisible(true);

        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            dispose();
        }
        dispose();
    }

    public void paint(Graphics g) {
        Image splashImage = getToolkit().getImage("/SplashScreen.png");
        g.drawImage(splashImage, 0, 0, this);
    }
}
```


----------



## Flown (13. Sep 2015)

Wie wärs mit

```
Thread splashScreen = new Thread(new SpashScreen());
```


----------



## stylegangsta (13. Sep 2015)

Hi, erst mal Danke für die ultraschnelle Antwort.
Jetzt erscheint wenigstens was. Es erscheint ein ganz normaler Frame, allerdngs ohne Inhalt und hinter dem Jframe nicht davor.

Eigentlich sollte es ein Transparentes png sein ohne Rahmen usw.


----------



## stylegangsta (13. Sep 2015)

OK, warum es dahinter und nicht davor erschienen ist, lag nur an der Reihenfolge in der Main.
Aber, wie gesagt, es ist lediglich ein leerer Frame, der erscheint


----------



## Flown (13. Sep 2015)

Du hast zwar nicht viel Code gepostet, aber da sind ne Menge "Bad Smells" drin versteckt.

Man leitet nicht von JFrame ab
Man überschreibt `paintComponent` und nicht `paint`
Versuch es doch mal so:

```
public class Test {
   
    public static void main(String... args) {
        SwingUtilities.invokeLater(Test::new);
    }
   
    public Test() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setLocationRelativeTo(null);
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
    }
   
    class MyPicture extends JPanel {
        private static final long serialVersionUID = 1L;
        private BufferedImage image;
       
        public MyPicture() {
            try {
                image = ImageIO.read(new File("/SplashScreen.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            setOpaque(false);
        }
       
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(image.getWidth(), image.getHeight());
        }
       
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this);
        }
    }
}
```


----------



## stylegangsta (13. Sep 2015)

Flown hat gesagt.:


> Du hast zwar nicht viel Code gepostet, aber da sind ne Menge "Bad Smells" drin versteckt.



Das war der gesamte Code. Zumindest die main und den Splash screen betreffend. Ich poste aber jetzt noch den Frame Code. Vielleicht kannst du mir ja dann sagen, ob ich immer noch deinen vorgeschlagenen Code testen soll, kann ja sein, dass er dann etwas anders aussehen muss.
hier noch der code der Klasse Frame

```
package ProgramWindow;

import java.awt.Color;
import java.awt.Font;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.SwingConstants;

@SuppressWarnings("serial")
public class AEKFrame extends JFrame {
  
    // Titelgrafik
    private JLabel lblTitelText;
    private JLabel lblAeskulapStab;

    // Anzeige Fortschrittsbalken
    private JProgressBar progFortSchrittsAnzeige;

    // Schaltflächen mit Bundesland Wappen
    private JButton btnBW;
    BufferedImage BW_Wappen;
    private JButton btnBayern;
    BufferedImage Bayern_Wappen;
    private JButton btnBerlin;
    BufferedImage Berlin_Wappen;
    private JButton btnBrb;
    BufferedImage Brb_Wappen;
    private JButton btnBremen;
    BufferedImage Bremen_Wappen;
    private JButton btnHamburg;
    BufferedImage Hamburg_Wappen;
    private JButton btnHessen;
    BufferedImage Hessen_Wappen;
    private JButton btnMV;
    BufferedImage MV_Wappen;
    private JButton btnNsachsen;
    BufferedImage Nsachsen_Wappen;
    private JButton btnNRW;
    BufferedImage NRW_Wappen;
    private JButton btnRP;
    BufferedImage RP_Wappen;
    private JButton btnSaarland;
    BufferedImage Saarland_Wappen;
    private JButton btnSachsen;
    BufferedImage Sachsen_Wappen;
    private JButton btnSachsenAnh;
    BufferedImage SachsenAnh_Wappen;
    private JButton btnSH;
    BufferedImage SH_Wappen;
    private JButton btnTh;
    BufferedImage Th_Wappen;
  
//    // Allgemeine Schaltflächen
//    private JButton btnInfo;

    // Äskulapnatter
    BufferedImage imgAeskulap;

    // Bundesland als Text unter Schaltflächen
    private JLabel lblBW, lblBayern, lblBerlin, lblBrb, lblBremen, lblHamburg, lblHessen, lblMV, lblNsachsen, lblNRW,
    lblRP, lblSaarland, lblSachsen, lblSachsenAnh, lblSH, lblTh;

    public AEKFrame() {

        /*
         * super ("AEK DataBase Reader"); "Programmname: AEK DataBase Reader"
         * setSize(800, 500); "Fenstergröße des Programms: 500px x 500px"
         * setLocationRelativeTo(null);
         * "Sofern kein weiteres Programm bzw. Fenster geöffnet ist" wird das
         * Programmfenster auf dem Bildschirm zentriert
         * setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         * "Beendet das Programm (darf nicht gelöscht werden ! ! !)"
         */
        super("ÄK DataBase Reader \u00a9 by Dr.EAMTeam");
        setSize(1200, 530);
        setLocationRelativeTo(null);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        createWidgets();
        addWidgets();

    }

    // Fenster Elemente
    private void addWidgets() {
        getContentPane().setLayout(null);
        getContentPane().add(lblTitelText);
        getContentPane().add(lblAeskulapStab);
        getContentPane().add(progFortSchrittsAnzeige);
        getContentPane().add(btnBW);
        getContentPane().add(lblBW);
        getContentPane().add(btnBayern);
        getContentPane().add(lblBayern);
        getContentPane().add(btnBerlin);
        getContentPane().add(lblBerlin);
        getContentPane().add(btnBrb);
        getContentPane().add(lblBrb);
        getContentPane().add(btnBremen);
        getContentPane().add(lblBremen);
        getContentPane().add(btnHamburg);
        getContentPane().add(lblHamburg);
        getContentPane().add(btnHessen);
        getContentPane().add(lblHessen);
        getContentPane().add(btnMV);
        getContentPane().add(lblMV);
        getContentPane().add(btnNsachsen);
        getContentPane().add(lblNsachsen);
        getContentPane().add(btnNRW);
        getContentPane().add(lblNRW);
        getContentPane().add(btnRP);
        getContentPane().add(lblRP);
        getContentPane().add(btnSaarland);
        getContentPane().add(lblSaarland);
        getContentPane().add(btnSachsen);
        getContentPane().add(lblSachsen);
        getContentPane().add(btnSachsenAnh);
        getContentPane().add(lblSachsenAnh);
        getContentPane().add(btnSH);
        getContentPane().add(lblSH);
        getContentPane().add(btnTh);
        getContentPane().add(lblTh);
//        getContentPane().add(btnInfo);
    }

    // Layout
    /*
     * Titeltext in jedem System vorhande Schriftart, Fett, Kursiv, Größe 30
     * Schriftfarbe rot Titelfeld durchsichtig Hintergrundfarbe weiß Titeltext
     * horizontal zentriert Titelfeld Postion x, y, Breite, Höhe
     */
    private void createWidgets() {

        // Hex Farbnummer Titeltext "Weiterbildungsdatenbanken der Ärztekammern"
        Color Titeltext = new Color(0xE60005);
        lblTitelText = new JLabel("Weiterbildungsdatenbanken der Ärztekammern");
        lblTitelText.setFont(lblTitelText.getFont().deriveFont(Font.BOLD + Font.ITALIC, 30));
        lblTitelText.setForeground(Titeltext);
        lblTitelText.setOpaque(true);
        lblTitelText.setBackground(Color.WHITE);
        lblTitelText.setHorizontalAlignment(SwingConstants.CENTER);
        lblTitelText.setBounds(0, 0, 1194, 40);

        // Äskulapnatter
        try {
            imgAeskulap = ImageIO.read(getClass().getResource("/aeskulap-stab.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }

        lblAeskulapStab = new JLabel();
        lblAeskulapStab.setIcon(new ImageIcon(imgAeskulap));
        lblAeskulapStab.setBounds(10, 50, 200, 420);

        // Fortschrittsbalkenanzeige
        progFortSchrittsAnzeige = new JProgressBar(0, 100);
        progFortSchrittsAnzeige.setBounds(0, 480, 1194, 20);
        progFortSchrittsAnzeige.setAlignmentX(CENTER_ALIGNMENT);
        progFortSchrittsAnzeige.setVisible(isActive());

        // Bundesland Buttons:
        /*
         * Eigenschaften gelten für jeden Button, Positionen ändern sich jedoch
         */

        // Baden-Württemberg
        try {
            BW_Wappen = ImageIO.read(getClass().getResource("/Baden-Wuerttemberg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBW = new JButton();
        btnBW.setIcon(new ImageIcon(BW_Wappen));
        btnBW.setHorizontalAlignment(SwingConstants.CENTER);
        btnBW.setVerticalAlignment(SwingConstants.CENTER);
        btnBW.setFocusPainted(false);
        lblBW = new JLabel("BW");
        lblBW.setFont(lblBW.getFont().deriveFont(Font.BOLD, 15));
        lblBW.setForeground(Color.BLACK);
        lblBW.setHorizontalAlignment(SwingConstants.CENTER);
        lblBW.setVerticalAlignment(SwingConstants.CENTER);
        lblBW.setBounds(220, 138, 110, 140);
        btnBW.setBounds(220, 58, 110, 140);

        // Bayern
        try {
            Bayern_Wappen = ImageIO.read(getClass().getResource("/Bayern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBayern = new JButton();
        btnBayern.setIcon(new ImageIcon(Bayern_Wappen));
        btnBayern.setHorizontalAlignment(SwingConstants.CENTER);
        btnBayern.setVerticalAlignment(SwingConstants.CENTER);
        btnBayern.setFocusPainted(false);
        lblBayern = new JLabel("Bayern");
        lblBayern.setFont(lblBayern.getFont().deriveFont(Font.BOLD, 15));
        lblBayern.setForeground(Color.BLACK);
        lblBayern.setHorizontalAlignment(SwingConstants.CENTER);
        lblBayern.setVerticalAlignment(SwingConstants.CENTER);
        lblBayern.setBounds(340, 138, 110, 140);
        btnBayern.setBounds(340, 58, 110, 140);

        // Berlin
        try {
            Berlin_Wappen = ImageIO.read(getClass().getResource("/Berlin.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBerlin = new JButton();
        btnBerlin.setIcon(new ImageIcon(Berlin_Wappen));
        btnBerlin.setHorizontalAlignment(SwingConstants.CENTER);
        btnBerlin.setVerticalAlignment(SwingConstants.CENTER);
        btnBerlin.setFocusPainted(false);
        lblBerlin = new JLabel("Berlin");
        lblBerlin.setFont(lblBerlin.getFont().deriveFont(Font.BOLD, 15));
        lblBerlin.setForeground(Color.BLACK);
        lblBerlin.setHorizontalAlignment(SwingConstants.CENTER);
        lblBerlin.setVerticalAlignment(SwingConstants.CENTER);
        lblBerlin.setBounds(460, 138, 110, 140);
        btnBerlin.setBounds(460, 58, 110, 140);

        // Brandenburg
        try {
            Brb_Wappen = ImageIO.read(getClass().getResource("/Brandenburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBrb = new JButton();
        btnBrb.setIcon(new ImageIcon(Brb_Wappen));
        btnBrb.setHorizontalAlignment(SwingConstants.CENTER);
        btnBrb.setVerticalAlignment(SwingConstants.CENTER);
        btnBrb.setFocusPainted(false);
        lblBrb = new JLabel("Brb");
        lblBrb.setFont(lblBrb.getFont().deriveFont(Font.BOLD, 15));
        lblBrb.setForeground(Color.BLACK);
        lblBrb.setHorizontalAlignment(SwingConstants.CENTER);
        lblBrb.setVerticalAlignment(SwingConstants.CENTER);
        lblBrb.setBounds(580, 138, 110, 140);
        btnBrb.setBounds(580, 58, 110, 140);

        // Bremen
        try {
            Bremen_Wappen = ImageIO.read(getClass().getResource("/Bremen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBremen = new JButton();
        btnBremen.setIcon(new ImageIcon(Bremen_Wappen));
        btnBremen.setHorizontalAlignment(SwingConstants.CENTER);
        btnBremen.setVerticalAlignment(SwingConstants.CENTER);
        btnBremen.setFocusPainted(false);
        lblBremen = new JLabel("Bremen");
        lblBremen.setFont(lblBremen.getFont().deriveFont(Font.BOLD, 15));
        lblBremen.setForeground(Color.BLACK);
        lblBremen.setHorizontalAlignment(SwingConstants.CENTER);
        lblBremen.setVerticalAlignment(SwingConstants.CENTER);
        lblBremen.setBounds(700, 138, 110, 140);
        btnBremen.setBounds(700, 58, 110, 140);

        // Hamburg
        try {
            Hamburg_Wappen = ImageIO.read(getClass().getResource("/Hamburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHamburg = new JButton();
        btnHamburg.setIcon(new ImageIcon(Hamburg_Wappen));
        btnHamburg.setHorizontalAlignment(SwingConstants.CENTER);
        btnHamburg.setVerticalAlignment(SwingConstants.CENTER);
        btnHamburg.setFocusPainted(false);
        lblHamburg = new JLabel("Hamburg");
        lblHamburg.setFont(lblHamburg.getFont().deriveFont(Font.BOLD, 15));
        lblHamburg.setForeground(Color.BLACK);
        lblHamburg.setHorizontalAlignment(SwingConstants.CENTER);
        lblHamburg.setVerticalAlignment(SwingConstants.CENTER);
        lblHamburg.setBounds(820, 138, 110, 140);
        btnHamburg.setBounds(820, 58, 110, 140);

        // Hessen
        try {
            Hessen_Wappen = ImageIO.read(getClass().getResource("/Hessen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHessen = new JButton();
        btnHessen.setIcon(new ImageIcon(Hessen_Wappen));
        btnHessen.setHorizontalAlignment(SwingConstants.CENTER);
        btnHessen.setVerticalAlignment(SwingConstants.CENTER);
        btnHessen.setFocusPainted(false);
        lblHessen = new JLabel("Hessen");
        lblHessen.setFont(lblHessen.getFont().deriveFont(Font.BOLD, 15));
        lblHessen.setForeground(Color.BLACK);
        lblHessen.setHorizontalAlignment(SwingConstants.CENTER);
        lblHessen.setVerticalAlignment(SwingConstants.CENTER);
        lblHessen.setBounds(940, 138, 110, 140);
        btnHessen.setBounds(940, 58, 110, 140);

        // Mecklenburg - Vorpommern
        try {
            MV_Wappen = ImageIO.read(getClass().getResource("/Mecklenburg-Vorpommern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnMV = new JButton();
        btnMV.setIcon(new ImageIcon(MV_Wappen));
        btnMV.setHorizontalAlignment(SwingConstants.CENTER);
        btnMV.setVerticalAlignment(SwingConstants.CENTER);
        btnMV.setFocusPainted(false);
        lblMV = new JLabel("MV");
        lblMV.setFont(lblMV.getFont().deriveFont(Font.BOLD, 15));
        lblMV.setForeground(Color.BLACK);
        lblMV.setHorizontalAlignment(SwingConstants.CENTER);
        lblMV.setVerticalAlignment(SwingConstants.CENTER);
        lblMV.setBounds(1060, 138, 110, 140);
        btnMV.setBounds(1060, 58, 110, 140);

        // Niedersachsen
        try {
            Nsachsen_Wappen = ImageIO.read(getClass().getResource("/Niedersachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNsachsen = new JButton();
        btnNsachsen.setIcon(new ImageIcon(Nsachsen_Wappen));
        btnNsachsen.setHorizontalAlignment(SwingConstants.CENTER);
        btnNsachsen.setVerticalAlignment(SwingConstants.CENTER);
        btnNsachsen.setFocusPainted(false);
        lblNsachsen = new JLabel("Nsachsen");
        lblNsachsen.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblNsachsen.setForeground(Color.BLACK);
        lblNsachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblNsachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblNsachsen.setBounds(220, 386, 110, 140);
        btnNsachsen.setBounds(220, 306, 110, 140);

        // Nordrhein - Westfalen
        try {
            NRW_Wappen = ImageIO.read(getClass().getResource("/NRW.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNRW = new JButton();
        btnNRW.setIcon(new ImageIcon(NRW_Wappen));
        btnNRW.setHorizontalAlignment(SwingConstants.CENTER);
        btnNRW.setVerticalAlignment(SwingConstants.CENTER);
        btnNRW.setFocusPainted(false);
        lblNRW = new JLabel("NRW");
        lblNRW.setFont(lblNRW.getFont().deriveFont(Font.BOLD, 15));
        lblNRW.setForeground(Color.BLACK);
        lblNRW.setHorizontalAlignment(SwingConstants.CENTER);
        lblNRW.setVerticalAlignment(SwingConstants.CENTER);
        lblNRW.setBounds(340, 386, 110, 140);
        btnNRW.setBounds(340, 306, 110, 140);

        // Rheinland - Pfalz
        try {
            RP_Wappen = ImageIO.read(getClass().getResource("/Rheinland-Pfalz.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnRP = new JButton();
        btnRP.setIcon(new ImageIcon(RP_Wappen));
        btnRP.setHorizontalAlignment(SwingConstants.CENTER);
        btnRP.setVerticalAlignment(SwingConstants.CENTER);
        btnRP.setFocusPainted(false);
        lblRP = new JLabel("RP");
        lblRP.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblRP.setForeground(Color.BLACK);
        lblRP.setHorizontalAlignment(SwingConstants.CENTER);
        lblRP.setVerticalAlignment(SwingConstants.CENTER);
        lblRP.setBounds(460, 386, 110, 140);
        btnRP.setBounds(460, 306, 110, 140);

        // Saarland
        try {
            Saarland_Wappen = ImageIO.read(getClass().getResource("/Saarland.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSaarland = new JButton();
        btnSaarland.setIcon(new ImageIcon(Saarland_Wappen));
        btnSaarland.setHorizontalAlignment(SwingConstants.CENTER);
        btnSaarland.setVerticalAlignment(SwingConstants.CENTER);
        btnSaarland.setFocusPainted(false);
        lblSaarland = new JLabel("Saarland");
        lblSaarland.setFont(lblSaarland.getFont().deriveFont(Font.BOLD, 15));
        lblSaarland.setForeground(Color.BLACK);
        lblSaarland.setHorizontalAlignment(SwingConstants.CENTER);
        lblSaarland.setVerticalAlignment(SwingConstants.CENTER);
        lblSaarland.setBounds(580, 386, 110, 140);
        btnSaarland.setBounds(580, 306, 110, 140);
      
        // Sachsen
        try {
            Sachsen_Wappen = ImageIO.read(getClass().getResource("/Sachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsen = new JButton();
        btnSachsen.setIcon(new ImageIcon(Sachsen_Wappen));
        btnSachsen.setHorizontalAlignment(SwingConstants.CENTER);
        btnSachsen.setVerticalAlignment(SwingConstants.CENTER);
        btnSachsen.setFocusPainted(false);
        lblSachsen = new JLabel("Sachsen");
        lblSachsen.setFont(lblSachsen.getFont().deriveFont(Font.BOLD, 15));
        lblSachsen.setForeground(Color.BLACK);
        lblSachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsen.setBounds(700, 386, 110, 140);
        btnSachsen.setBounds(700, 306, 110, 140);
      
        // Sachsen - Anhaltt
        try {
            SachsenAnh_Wappen = ImageIO.read(getClass().getResource("/Sachsen-Anhalt.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsenAnh = new JButton();
        btnSachsenAnh.setIcon(new ImageIcon(SachsenAnh_Wappen));
        btnSachsenAnh.setHorizontalAlignment(SwingConstants.CENTER);
        btnSachsenAnh.setVerticalAlignment(SwingConstants.CENTER);
        btnSachsenAnh.setFocusPainted(false);
        lblSachsenAnh = new JLabel("SachsenAnh");
        lblSachsenAnh.setFont(lblSachsenAnh.getFont().deriveFont(Font.BOLD, 15));
        lblSachsenAnh.setForeground(Color.BLACK);
        lblSachsenAnh.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setBounds(820, 386, 110, 140);
        btnSachsenAnh.setBounds(820, 306, 110, 140);
      
        // Schleswig - Holstein
        try {
            SH_Wappen = ImageIO.read(getClass().getResource("/Schleswig-Holstein.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSH = new JButton();
        btnSH.setIcon(new ImageIcon(SH_Wappen));
        btnSH.setHorizontalAlignment(SwingConstants.CENTER);
        btnSH.setVerticalAlignment(SwingConstants.CENTER);
        btnSH.setFocusPainted(false);
        lblSH = new JLabel("SH");
        lblSH.setFont(lblSH.getFont().deriveFont(Font.BOLD, 15));
        lblSH.setForeground(Color.BLACK);
        lblSH.setHorizontalAlignment(SwingConstants.CENTER);
        lblSH.setVerticalAlignment(SwingConstants.CENTER);
        lblSH.setBounds(940, 386, 110, 140);
        btnSH.setBounds(940, 306, 110, 140);
      
        // Thüringen
        try {
            Th_Wappen = ImageIO.read(getClass().getResource("/Thueringen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnTh = new JButton();
        btnTh.setIcon(new ImageIcon(Th_Wappen));
        btnTh.setHorizontalAlignment(SwingConstants.CENTER);
        btnTh.setVerticalAlignment(SwingConstants.CENTER);
        btnTh.setFocusPainted(false);
        lblTh = new JLabel("Th");
        lblTh.setFont(lblTh.getFont().deriveFont(Font.BOLD, 15));
        lblTh.setForeground(Color.BLACK);
        lblTh.setHorizontalAlignment(SwingConstants.CENTER);
        lblTh.setVerticalAlignment(SwingConstants.CENTER);
        lblTh.setBounds(1060, 386, 110, 140);
        btnTh.setBounds(1060, 306, 110, 140);
      
//        // Allgemeine Buttons
//        btnInfo = new JButton("INFO");
//        btnInfo.setFont(btnInfo.getFont().deriveFont(Font.BOLD, 15));
//        btnInfo.setHorizontalAlignment(SwingConstants.CENTER);
//        btnInfo.setVerticalAlignment(SwingConstants.CENTER);
//        btnInfo.setFocusPainted(false);
//        btnInfo.setBounds(220, 240, 110, 40);
    }
}
```


----------



## Flown (13. Sep 2015)

Ok. Das ist ja mal eine Wall of Code. Du könntest einiges kürzen, indem du Array verwendest und Methoden einführst. Vieles an deinem Code ist doppelt und dreifach.

Ist dein Problem jetzt gelöst oder brauchst du noch hilfe?


----------



## stylegangsta (13. Sep 2015)

Hi Flown,

vielen Dank für die Zeit, die du dir nimmst. Habs jetzt einfach mal so hingeschrieben, bin wirklich noch Anfänger und habe alles zusammengesucht von hier, Google, etc.. Zu meinem Problem:

Habe deinen Code in einem komplett separaten Projekt ausprobiert. Kommt auch nur normaler JFrame, anstatt der PNG datei.


----------



## Flown (13. Sep 2015)

Also eigentlich sollte der Code aber ein undekoriertes JFrame - mit transparentem Hintergrund - geben, dass nur das Bild zeichnet und sonst nichts.


----------



## stylegangsta (13. Sep 2015)

Flown hat gesagt.:


> Also eigentlich sollte der Code aber ein undekoriertes JFrame - mit transparentem Hintergrund - geben, dass nur das Bild zeichnet und sonst nichts.


Leider nicht, aber ich habe den Frame etwas zusammengepackt mit den Methoden, die bei jedem Button vorkommen
Habe jetzt die Alignments einmal ganz oben erstellt und diese werden bei jedem Button ausgeführt. Habe für die Labels aber nicht hinbekommen

```
package ProgramWindow;

import java.awt.Color;
import java.awt.Font;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.SwingConstants;

@SuppressWarnings("serial")
public class AEKFrame extends JFrame {
   
    // Titelgrafik
    private JLabel lblTitelText;
    private JLabel lblAeskulapStab;

    // Anzeige Fortschrittsbalken
    private JProgressBar progFortSchrittsAnzeige;

    // Schaltflächen mit Bundesland Wappen
    public static void JButton() {
        setHorizontalAlignment(SwingConstants.CENTER);
        setVerticalAlignment(SwingConstants.CENTER);
        setFocusPainted(false);
    }
    private static void setFocusPainted(boolean b) {
       
    }
    private static void setVerticalAlignment(int center) {
       
    }
    private static void setHorizontalAlignment(int center) {
       
    }

    private JButton btnBW, btnBayern, btnBerlin, btnBrb, btnBremen, btnHamburg, btnHessen, btnMV, btnNsachsen, btnNRW,
    btnRP, btnSaarland, btnSachsen, btnSachsenAnh, btnSH, btnTh;
   
    BufferedImage BW_Wappen, Bayern_Wappen, Berlin_Wappen, Brb_Wappen, Bremen_Wappen, Hamburg_Wappen,
                Hessen_Wappen, MV_Wappen, Nsachsen_Wappen, NRW_Wappen, RP_Wappen, Saarland_Wappen,
                Sachsen_Wappen, SachsenAnh_Wappen, SH_Wappen, Th_Wappen;;
   
    // Allgemeine Schaltflächen
    private JButton btnCredits;

    // Äskulapnatter
    BufferedImage imgAeskulap;

    // Bundesland als Text unter Schaltflächen
    private JLabel lblBW, lblBayern, lblBerlin, lblBrb, lblBremen, lblHamburg, lblHessen, lblMV, lblNsachsen, lblNRW,
    lblRP, lblSaarland, lblSachsen, lblSachsenAnh, lblSH, lblTh;

    public AEKFrame() {

        /*
         * super ("ÄK DataBase Reader"); "Programmname: ÄK DataBase Reader"
         * setSize(800, 500); "Fenstergröße des Programms: 500px x 500px"
         * setLocationRelativeTo(null);
         * "Sofern kein weiteres Programm bzw. Fenster geöffnet ist" wird das
         * Programmfenster auf dem Bildschirm zentriert
         * setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         * "Beendet das Programm (darf nicht gelöscht werden ! ! !)"
         */
        super("ÄK DataBase Reader \u00a9 by Dr.EAMTeam");
        setSize(1200, 530);
        setLocationRelativeTo(null);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        createWidgets();
        addWidgets();

    }

    // Fenster Elemente
    private void addWidgets() {
        getContentPane().setLayout(null);
        getContentPane().add(lblTitelText);
        getContentPane().add(lblAeskulapStab);
        getContentPane().add(progFortSchrittsAnzeige);
        getContentPane().add(btnBW);
        getContentPane().add(lblBW);
        getContentPane().add(btnBayern);
        getContentPane().add(lblBayern);
        getContentPane().add(btnBerlin);
        getContentPane().add(lblBerlin);
        getContentPane().add(btnBrb);
        getContentPane().add(lblBrb);
        getContentPane().add(btnBremen);
        getContentPane().add(lblBremen);
        getContentPane().add(btnHamburg);
        getContentPane().add(lblHamburg);
        getContentPane().add(btnHessen);
        getContentPane().add(lblHessen);
        getContentPane().add(btnMV);
        getContentPane().add(lblMV);
        getContentPane().add(btnNsachsen);
        getContentPane().add(lblNsachsen);
        getContentPane().add(btnNRW);
        getContentPane().add(lblNRW);
        getContentPane().add(btnRP);
        getContentPane().add(lblRP);
        getContentPane().add(btnSaarland);
        getContentPane().add(lblSaarland);
        getContentPane().add(btnSachsen);
        getContentPane().add(lblSachsen);
        getContentPane().add(btnSachsenAnh);
        getContentPane().add(lblSachsenAnh);
        getContentPane().add(btnSH);
        getContentPane().add(lblSH);
        getContentPane().add(btnTh);
        getContentPane().add(lblTh);
        getContentPane().add(btnCredits);
    }

    // Layout
    /*
     * Titeltext in jedem System vorhande Schriftart, Fett, Kursiv, Größe 30
     * Schriftfarbe rot Titelfeld durchsichtig Hintergrundfarbe weiß Titeltext
     * horizontal zentriert Titelfeld Postion x, y, Breite, Höhe
     */
    private void createWidgets() {

        // Hex Farbnummer Titeltext "Weiterbildungsdatenbanken der Ärztekammern"
        Color Titeltext = new Color(0xE60005);
        lblTitelText = new JLabel("Weiterbildungsdatenbanken der Ärztekammern");
        lblTitelText.setFont(lblTitelText.getFont().deriveFont(Font.BOLD + Font.ITALIC, 30));
        lblTitelText.setForeground(Titeltext);
        lblTitelText.setOpaque(true);
        lblTitelText.setBackground(Color.WHITE);
        lblTitelText.setHorizontalAlignment(SwingConstants.CENTER);
        lblTitelText.setBounds(0, 0, 1194, 40);

        // Äskulapnatter
        try {
            imgAeskulap = ImageIO.read(getClass().getResource("/img/aeskulap-stab.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }

        lblAeskulapStab = new JLabel();
        lblAeskulapStab.setIcon(new ImageIcon(imgAeskulap));
        lblAeskulapStab.setBounds(10, 50, 200, 420);

        // Fortschrittsbalkenanzeige
        progFortSchrittsAnzeige = new JProgressBar(0, 100);
        progFortSchrittsAnzeige.setBounds(0, 480, 1194, 20);
        progFortSchrittsAnzeige.setAlignmentX(CENTER_ALIGNMENT);
        progFortSchrittsAnzeige.setVisible(isActive());

        // Bundesland Buttons:
        /*
         * Eigenschaften gelten für jeden Button, Positionen ändern sich jedoch
         */

        // Baden-Württemberg
        try {
            BW_Wappen = ImageIO.read(getClass().getResource("/img/Baden-Wuerttemberg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBW = new JButton();
        btnBW.setIcon(new ImageIcon(BW_Wappen));
        lblBW = new JLabel("BW");
        lblBW.setFont(lblBW.getFont().deriveFont(Font.BOLD, 15));
        lblBW.setForeground(Color.BLACK);
        lblBW.setHorizontalAlignment(SwingConstants.CENTER);
        lblBW.setVerticalAlignment(SwingConstants.CENTER);
        lblBW.setBounds(220, 138, 110, 140);
        btnBW.setBounds(220, 58, 110, 140);

        // Bayern
        try {
            Bayern_Wappen = ImageIO.read(getClass().getResource("/img/Bayern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBayern = new JButton();
        btnBayern.setIcon(new ImageIcon(Bayern_Wappen));
        lblBayern = new JLabel("Bayern");
        lblBayern.setFont(lblBayern.getFont().deriveFont(Font.BOLD, 15));
        lblBayern.setForeground(Color.BLACK);
        lblBayern.setHorizontalAlignment(SwingConstants.CENTER);
        lblBayern.setVerticalAlignment(SwingConstants.CENTER);
        lblBayern.setBounds(340, 138, 110, 140);
        btnBayern.setBounds(340, 58, 110, 140);

        // Berlin
        try {
            Berlin_Wappen = ImageIO.read(getClass().getResource("/img/Berlin.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBerlin = new JButton();
        btnBerlin.setIcon(new ImageIcon(Berlin_Wappen));
        lblBerlin = new JLabel("Berlin");
        lblBerlin.setFont(lblBerlin.getFont().deriveFont(Font.BOLD, 15));
        lblBerlin.setForeground(Color.BLACK);
        lblBerlin.setHorizontalAlignment(SwingConstants.CENTER);
        lblBerlin.setVerticalAlignment(SwingConstants.CENTER);
        lblBerlin.setBounds(460, 138, 110, 140);
        btnBerlin.setBounds(460, 58, 110, 140);

        // Brandenburg
        try {
            Brb_Wappen = ImageIO.read(getClass().getResource("/img/Brandenburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBrb = new JButton();
        btnBrb.setIcon(new ImageIcon(Brb_Wappen));
        lblBrb = new JLabel("Brb");
        lblBrb.setFont(lblBrb.getFont().deriveFont(Font.BOLD, 15));
        lblBrb.setForeground(Color.BLACK);
        lblBrb.setHorizontalAlignment(SwingConstants.CENTER);
        lblBrb.setVerticalAlignment(SwingConstants.CENTER);
        lblBrb.setBounds(580, 138, 110, 140);
        btnBrb.setBounds(580, 58, 110, 140);

        // Bremen
        try {
            Bremen_Wappen = ImageIO.read(getClass().getResource("/img/Bremen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBremen = new JButton();
        btnBremen.setIcon(new ImageIcon(Bremen_Wappen));
        lblBremen = new JLabel("Bremen");
        lblBremen.setFont(lblBremen.getFont().deriveFont(Font.BOLD, 15));
        lblBremen.setForeground(Color.BLACK);
        lblBremen.setHorizontalAlignment(SwingConstants.CENTER);
        lblBremen.setVerticalAlignment(SwingConstants.CENTER);
        lblBremen.setBounds(700, 138, 110, 140);
        btnBremen.setBounds(700, 58, 110, 140);

        // Hamburg
        try {
            Hamburg_Wappen = ImageIO.read(getClass().getResource("/img/Hamburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHamburg = new JButton();
        btnHamburg.setIcon(new ImageIcon(Hamburg_Wappen));
        lblHamburg = new JLabel("Hamburg");
        lblHamburg.setFont(lblHamburg.getFont().deriveFont(Font.BOLD, 15));
        lblHamburg.setForeground(Color.BLACK);
        lblHamburg.setHorizontalAlignment(SwingConstants.CENTER);
        lblHamburg.setVerticalAlignment(SwingConstants.CENTER);
        lblHamburg.setBounds(820, 138, 110, 140);
        btnHamburg.setBounds(820, 58, 110, 140);

        // Hessen
        try {
            Hessen_Wappen = ImageIO.read(getClass().getResource("/img/Hessen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHessen = new JButton();
        btnHessen.setIcon(new ImageIcon(Hessen_Wappen));
        lblHessen = new JLabel("Hessen");
        lblHessen.setFont(lblHessen.getFont().deriveFont(Font.BOLD, 15));
        lblHessen.setForeground(Color.BLACK);
        lblHessen.setHorizontalAlignment(SwingConstants.CENTER);
        lblHessen.setVerticalAlignment(SwingConstants.CENTER);
        lblHessen.setBounds(940, 138, 110, 140);
        btnHessen.setBounds(940, 58, 110, 140);

        // Mecklenburg - Vorpommern
        try {
            MV_Wappen = ImageIO.read(getClass().getResource("/img/Mecklenburg-Vorpommern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnMV = new JButton();
        btnMV.setIcon(new ImageIcon(MV_Wappen));
        lblMV = new JLabel("MV");
        lblMV.setFont(lblMV.getFont().deriveFont(Font.BOLD, 15));
        lblMV.setForeground(Color.BLACK);
        lblMV.setHorizontalAlignment(SwingConstants.CENTER);
        lblMV.setVerticalAlignment(SwingConstants.CENTER);
        lblMV.setBounds(1060, 138, 110, 140);
        btnMV.setBounds(1060, 58, 110, 140);

        // Niedersachsen
        try {
            Nsachsen_Wappen = ImageIO.read(getClass().getResource("/img/Niedersachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNsachsen = new JButton();
        btnNsachsen.setIcon(new ImageIcon(Nsachsen_Wappen));
        lblNsachsen = new JLabel("Nsachsen");
        lblNsachsen.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblNsachsen.setForeground(Color.BLACK);
        lblNsachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblNsachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblNsachsen.setBounds(220, 386, 110, 140);
        btnNsachsen.setBounds(220, 306, 110, 140);

        // Nordrhein - Westfalen
        try {
            NRW_Wappen = ImageIO.read(getClass().getResource("/img/NRW.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNRW = new JButton();
        btnNRW.setIcon(new ImageIcon(NRW_Wappen));
        lblNRW = new JLabel("NRW");
        lblNRW.setFont(lblNRW.getFont().deriveFont(Font.BOLD, 15));
        lblNRW.setForeground(Color.BLACK);
        lblNRW.setHorizontalAlignment(SwingConstants.CENTER);
        lblNRW.setVerticalAlignment(SwingConstants.CENTER);
        lblNRW.setBounds(340, 386, 110, 140);
        btnNRW.setBounds(340, 306, 110, 140);

        // Rheinland - Pfalz
        try {
            RP_Wappen = ImageIO.read(getClass().getResource("/img/Rheinland-Pfalz.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnRP = new JButton();
        btnRP.setIcon(new ImageIcon(RP_Wappen));
        lblRP = new JLabel("RP");
        lblRP.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblRP.setForeground(Color.BLACK);
        lblRP.setHorizontalAlignment(SwingConstants.CENTER);
        lblRP.setVerticalAlignment(SwingConstants.CENTER);
        lblRP.setBounds(460, 386, 110, 140);
        btnRP.setBounds(460, 306, 110, 140);

        // Saarland
        try {
            Saarland_Wappen = ImageIO.read(getClass().getResource("/img/Saarland.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSaarland = new JButton();
        btnSaarland.setIcon(new ImageIcon(Saarland_Wappen));
        lblSaarland = new JLabel("Saarland");
        lblSaarland.setFont(lblSaarland.getFont().deriveFont(Font.BOLD, 15));
        lblSaarland.setForeground(Color.BLACK);
        lblSaarland.setHorizontalAlignment(SwingConstants.CENTER);
        lblSaarland.setVerticalAlignment(SwingConstants.CENTER);
        lblSaarland.setBounds(580, 386, 110, 140);
        btnSaarland.setBounds(580, 306, 110, 140);
       
        // Sachsen
        try {
            Sachsen_Wappen = ImageIO.read(getClass().getResource("/img/Sachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsen = new JButton();
        btnSachsen.setIcon(new ImageIcon(Sachsen_Wappen));
        lblSachsen = new JLabel("Sachsen");
        lblSachsen.setFont(lblSachsen.getFont().deriveFont(Font.BOLD, 15));
        lblSachsen.setForeground(Color.BLACK);
        lblSachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsen.setBounds(700, 386, 110, 140);
        btnSachsen.setBounds(700, 306, 110, 140);
       
        // Sachsen - Anhaltt
        try {
            SachsenAnh_Wappen = ImageIO.read(getClass().getResource("/img/Sachsen-Anhalt.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsenAnh = new JButton();
        btnSachsenAnh.setIcon(new ImageIcon(SachsenAnh_Wappen));
        lblSachsenAnh = new JLabel("SachsenAnh");
        lblSachsenAnh.setFont(lblSachsenAnh.getFont().deriveFont(Font.BOLD, 15));
        lblSachsenAnh.setForeground(Color.BLACK);
        lblSachsenAnh.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setBounds(820, 386, 110, 140);
        btnSachsenAnh.setBounds(820, 306, 110, 140);
       
        // Schleswig - Holstein
        try {
            SH_Wappen = ImageIO.read(getClass().getResource("/img/Schleswig-Holstein.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSH = new JButton();
        btnSH.setIcon(new ImageIcon(SH_Wappen));
        lblSH = new JLabel("SH");
        lblSH.setFont(lblSH.getFont().deriveFont(Font.BOLD, 15));
        lblSH.setForeground(Color.BLACK);
        lblSH.setHorizontalAlignment(SwingConstants.CENTER);
        lblSH.setVerticalAlignment(SwingConstants.CENTER);
        lblSH.setBounds(940, 386, 110, 140);
        btnSH.setBounds(940, 306, 110, 140);
       
        // Thüringen       
        try {
            Th_Wappen = ImageIO.read(getClass().getResource("/img/Thueringen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnTh = new JButton();
        btnTh.setIcon(new ImageIcon(Th_Wappen));
        lblTh = new JLabel("Th");
        lblTh.setFont(lblTh.getFont().deriveFont(Font.BOLD, 15));
        lblTh.setForeground(Color.BLACK);
        lblTh.setHorizontalAlignment(SwingConstants.CENTER);
        lblTh.setVerticalAlignment(SwingConstants.CENTER);
        lblTh.setBounds(1060, 386, 110, 140);
        btnTh.setBounds(1060, 306, 110, 140);
       
        // Allgemeine Buttons
        btnCredits = new JButton("CREDITS");
        btnCredits.setFont(btnCredits.getFont().deriveFont(Font.BOLD, 15));
        btnCredits.setBounds(220, 240, 110, 40);
    }
}
```


----------



## Flown (13. Sep 2015)

Also ich kann dir sagen, dass mit diesem Code:

```
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class Test {
   
    public static void main(String... args) {
        SwingUtilities.invokeLater(Test::new);
    }
   
    public Test() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setLocationRelativeTo(null);
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
    }
   
    class MyPicture extends JPanel {
        private static final long serialVersionUID = 1L;
        private BufferedImage image;
       
        public MyPicture() {
            try {
                image = ImageIO.read(new URL("http://www.java-forum.org/data/avatars/m/48/48272.jpg?1440321974"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            setOpaque(false);
        }
       
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(image.getWidth(), image.getHeight());
        }
       
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this);
        }
    }
}
```

Das hier rauskommt:


----------



## stylegangsta (13. Sep 2015)

Merkwürdig,

ich versuchs noch Mal in einem separaten Projekt


----------



## stylegangsta (13. Sep 2015)

Hat diesmal geklappt. Ich versuchs jetzt mal bei dem anderen Code


----------



## stylegangsta (13. Sep 2015)

Ich muss beim ersten Versuch irgendwas verpennt haben, klappt jetzt wunderbar, außer, dass der Splash rechts unten in der Ecke erscheint, anstatt zentriert auf dem Hauptframe (AEKFrame) und nicht von alleine verschwindet

DANKE DANKE DANKE


----------



## stylegangsta (13. Sep 2015)

Vielleicht sollte ich den IST Zustand des codes posten. Alle drei Klassen der Reihe nach:

```
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

import ProgramWindow.AEKFrame;
import ProgramWindow.SplashScreen;

public class BedienOberFlaeche {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(SplashScreen::new);

        // Passt die Darstellung an das jeweilige Betriebssystem an
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
       
        // Grafische Darstellung des Programms
        /*
         * JFrame frame = new JFrame(); "Startet die Bedienoberfläche"
         */
        JFrame frame = new AEKFrame();
        frame.setVisible(true);
    }
}
```


```
package ProgramWindow;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SplashScreen implements Runnable {
  
    public SplashScreen() {
        JFrame frame = new JFrame();
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setLocationRelativeTo(null);
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
    }
  
    class MyPicture extends JPanel {
        private static final long serialVersionUID = 1L;
        private BufferedImage image;
      
        public MyPicture() {
            try {
                image = ImageIO.read(getClass().getResource("/img/SplashScreen.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            setOpaque(false);
        }
      
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(image.getWidth(), image.getHeight());
        }
      
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this);
        }
    }

    @Override
    public void run() {   
    }
}
```


```
package ProgramWindow;

import java.awt.Color;
import java.awt.Font;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.SwingConstants;

@SuppressWarnings("serial")
public class AEKFrame extends JFrame {

    // Titelgrafik
    private JLabel lblTitelText;
    private JLabel lblAeskulapStab;

    // Anzeige Fortschrittsbalken
    private JProgressBar progFortSchrittsAnzeige;

    // Schaltflächen mit Bundesland Wappen
    public static void JButton() {
        setHorizontalAlignment(SwingConstants.CENTER);
        setVerticalAlignment(SwingConstants.CENTER);
        setFocusPainted(false);
    }

    // Schaltflächenumrandung
    private static void setFocusPainted(boolean b) {

    }

    // Vetikale Ausrichtung
    private static void setVerticalAlignment(int center) {

    }

    // Horizontale Ausrichtung
    private static void setHorizontalAlignment(int center) {

    }

    private JButton btnBW, btnBayern, btnBerlin, btnBrb, btnBremen, btnHamburg, btnHessen, btnMV, btnNsachsen, btnNRW,
            btnRP, btnSaarland, btnSachsen, btnSachsenAnh, btnSH, btnTh;

    BufferedImage BW_Wappen, Bayern_Wappen, Berlin_Wappen, Brb_Wappen, Bremen_Wappen, Hamburg_Wappen, Hessen_Wappen,
            MV_Wappen, Nsachsen_Wappen, NRW_Wappen, RP_Wappen, Saarland_Wappen, Sachsen_Wappen, SachsenAnh_Wappen,
            SH_Wappen, Th_Wappen;;

    // Allgemeine Schaltflächen
    private JButton btnCredits;

    // Äskulapnatter
    BufferedImage imgAeskulap;

    // Bundesland als Text unter Schaltflächen
    private JLabel lblBW, lblBayern, lblBerlin, lblBrb, lblBremen, lblHamburg, lblHessen, lblMV, lblNsachsen, lblNRW,
            lblRP, lblSaarland, lblSachsen, lblSachsenAnh, lblSH, lblTh;

    public AEKFrame() {

        /*
         * super ("ÄK DataBase Reader"); "Programmname: ÄK DataBase Reader"
         * setSize(800, 500); "Fenstergröße des Programms: 500px x 500px"
         * setLocationRelativeTo(null);
         * "Sofern kein weiteres Programm bzw. Fenster geöffnet ist" wird das
         * Programmfenster auf dem Bildschirm zentriert
         * setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         * "Beendet das Programm (darf nicht gelöscht werden ! ! !)"
         */
        super("ÄK DataBase Reader \u00a9 by Dr.EAMTeam");
        setSize(1200, 530);
        setLocationRelativeTo(null);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        createWidgets();
        addWidgets();

    }

    // Fenster Elemente
    private void addWidgets() {
        getContentPane().setLayout(null);
        getContentPane().add(lblTitelText);
        getContentPane().add(lblAeskulapStab);
        getContentPane().add(progFortSchrittsAnzeige);
        getContentPane().add(btnBW);
        getContentPane().add(lblBW);
        getContentPane().add(btnBayern);
        getContentPane().add(lblBayern);
        getContentPane().add(btnBerlin);
        getContentPane().add(lblBerlin);
        getContentPane().add(btnBrb);
        getContentPane().add(lblBrb);
        getContentPane().add(btnBremen);
        getContentPane().add(lblBremen);
        getContentPane().add(btnHamburg);
        getContentPane().add(lblHamburg);
        getContentPane().add(btnHessen);
        getContentPane().add(lblHessen);
        getContentPane().add(btnMV);
        getContentPane().add(lblMV);
        getContentPane().add(btnNsachsen);
        getContentPane().add(lblNsachsen);
        getContentPane().add(btnNRW);
        getContentPane().add(lblNRW);
        getContentPane().add(btnRP);
        getContentPane().add(lblRP);
        getContentPane().add(btnSaarland);
        getContentPane().add(lblSaarland);
        getContentPane().add(btnSachsen);
        getContentPane().add(lblSachsen);
        getContentPane().add(btnSachsenAnh);
        getContentPane().add(lblSachsenAnh);
        getContentPane().add(btnSH);
        getContentPane().add(lblSH);
        getContentPane().add(btnTh);
        getContentPane().add(lblTh);
        getContentPane().add(btnCredits);
    }

    // Layout
    /*
     * Titeltext in jedem System vorhande Schriftart, Fett, Kursiv, Größe 30
     * Schriftfarbe rot Titelfeld durchsichtig Hintergrundfarbe weiß Titeltext
     * horizontal zentriert Titelfeld Postion x, y, Breite, Höhe
     */
    private void createWidgets() {

        // Hex Farbnummer Titeltext "Weiterbildungsdatenbanken der Ärztekammern"
        Color Titeltext = new Color(0xE60005);
        lblTitelText = new JLabel("Weiterbildungsdatenbanken der Ärztekammern");
        lblTitelText.setFont(lblTitelText.getFont().deriveFont(Font.BOLD + Font.ITALIC, 30));
        lblTitelText.setForeground(Titeltext);
        lblTitelText.setOpaque(true);
        lblTitelText.setBackground(Color.WHITE);
        lblTitelText.setHorizontalAlignment(SwingConstants.CENTER);
        lblTitelText.setBounds(0, 0, 1194, 40);

        // Äskulapnatter
        try {
            imgAeskulap = ImageIO.read(getClass().getResource("/img/aeskulap-stab.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }

        lblAeskulapStab = new JLabel();
        lblAeskulapStab.setIcon(new ImageIcon(imgAeskulap));
        lblAeskulapStab.setBounds(10, 50, 200, 420);

        // Fortschrittsbalkenanzeige
        progFortSchrittsAnzeige = new JProgressBar(0, 100);
        progFortSchrittsAnzeige.setBounds(0, 480, 1194, 20);
        progFortSchrittsAnzeige.setAlignmentX(CENTER_ALIGNMENT);
        progFortSchrittsAnzeige.setVisible(isActive());

        // Bundesland Buttons:
        /*
         * Eigenschaften gelten für jeden Button, Positionen ändern sich jedoch
         */

        // Baden-Württemberg
        try {
            BW_Wappen = ImageIO.read(getClass().getResource("/img/Baden-Wuerttemberg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBW = new JButton();
        btnBW.setIcon(new ImageIcon(BW_Wappen));
        lblBW = new JLabel("BW");
        lblBW.setFont(lblBW.getFont().deriveFont(Font.BOLD, 15));
        lblBW.setForeground(Color.BLACK);
        lblBW.setHorizontalAlignment(SwingConstants.CENTER);
        lblBW.setVerticalAlignment(SwingConstants.CENTER);
        lblBW.setBounds(220, 138, 110, 140);
        btnBW.setBounds(220, 58, 110, 140);

        // Bayern
        try {
            Bayern_Wappen = ImageIO.read(getClass().getResource("/img/Bayern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBayern = new JButton();
        btnBayern.setIcon(new ImageIcon(Bayern_Wappen));
        lblBayern = new JLabel("Bayern");
        lblBayern.setFont(lblBayern.getFont().deriveFont(Font.BOLD, 15));
        lblBayern.setForeground(Color.BLACK);
        lblBayern.setHorizontalAlignment(SwingConstants.CENTER);
        lblBayern.setVerticalAlignment(SwingConstants.CENTER);
        lblBayern.setBounds(340, 138, 110, 140);
        btnBayern.setBounds(340, 58, 110, 140);

        // Berlin
        try {
            Berlin_Wappen = ImageIO.read(getClass().getResource("/img/Berlin.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBerlin = new JButton();
        btnBerlin.setIcon(new ImageIcon(Berlin_Wappen));
        lblBerlin = new JLabel("Berlin");
        lblBerlin.setFont(lblBerlin.getFont().deriveFont(Font.BOLD, 15));
        lblBerlin.setForeground(Color.BLACK);
        lblBerlin.setHorizontalAlignment(SwingConstants.CENTER);
        lblBerlin.setVerticalAlignment(SwingConstants.CENTER);
        lblBerlin.setBounds(460, 138, 110, 140);
        btnBerlin.setBounds(460, 58, 110, 140);

        // Brandenburg
        try {
            Brb_Wappen = ImageIO.read(getClass().getResource("/img/Brandenburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBrb = new JButton();
        btnBrb.setIcon(new ImageIcon(Brb_Wappen));
        lblBrb = new JLabel("Brb");
        lblBrb.setFont(lblBrb.getFont().deriveFont(Font.BOLD, 15));
        lblBrb.setForeground(Color.BLACK);
        lblBrb.setHorizontalAlignment(SwingConstants.CENTER);
        lblBrb.setVerticalAlignment(SwingConstants.CENTER);
        lblBrb.setBounds(580, 138, 110, 140);
        btnBrb.setBounds(580, 58, 110, 140);

        // Bremen
        try {
            Bremen_Wappen = ImageIO.read(getClass().getResource("/img/Bremen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnBremen = new JButton();
        btnBremen.setIcon(new ImageIcon(Bremen_Wappen));
        lblBremen = new JLabel("Bremen");
        lblBremen.setFont(lblBremen.getFont().deriveFont(Font.BOLD, 15));
        lblBremen.setForeground(Color.BLACK);
        lblBremen.setHorizontalAlignment(SwingConstants.CENTER);
        lblBremen.setVerticalAlignment(SwingConstants.CENTER);
        lblBremen.setBounds(700, 138, 110, 140);
        btnBremen.setBounds(700, 58, 110, 140);

        // Hamburg
        try {
            Hamburg_Wappen = ImageIO.read(getClass().getResource("/img/Hamburg.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHamburg = new JButton();
        btnHamburg.setIcon(new ImageIcon(Hamburg_Wappen));
        lblHamburg = new JLabel("Hamburg");
        lblHamburg.setFont(lblHamburg.getFont().deriveFont(Font.BOLD, 15));
        lblHamburg.setForeground(Color.BLACK);
        lblHamburg.setHorizontalAlignment(SwingConstants.CENTER);
        lblHamburg.setVerticalAlignment(SwingConstants.CENTER);
        lblHamburg.setBounds(820, 138, 110, 140);
        btnHamburg.setBounds(820, 58, 110, 140);

        // Hessen
        try {
            Hessen_Wappen = ImageIO.read(getClass().getResource("/img/Hessen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnHessen = new JButton();
        btnHessen.setIcon(new ImageIcon(Hessen_Wappen));
        lblHessen = new JLabel("Hessen");
        lblHessen.setFont(lblHessen.getFont().deriveFont(Font.BOLD, 15));
        lblHessen.setForeground(Color.BLACK);
        lblHessen.setHorizontalAlignment(SwingConstants.CENTER);
        lblHessen.setVerticalAlignment(SwingConstants.CENTER);
        lblHessen.setBounds(940, 138, 110, 140);
        btnHessen.setBounds(940, 58, 110, 140);

        // Mecklenburg - Vorpommern
        try {
            MV_Wappen = ImageIO.read(getClass().getResource("/img/Mecklenburg-Vorpommern.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnMV = new JButton();
        btnMV.setIcon(new ImageIcon(MV_Wappen));
        lblMV = new JLabel("MV");
        lblMV.setFont(lblMV.getFont().deriveFont(Font.BOLD, 15));
        lblMV.setForeground(Color.BLACK);
        lblMV.setHorizontalAlignment(SwingConstants.CENTER);
        lblMV.setVerticalAlignment(SwingConstants.CENTER);
        lblMV.setBounds(1060, 138, 110, 140);
        btnMV.setBounds(1060, 58, 110, 140);

        // Niedersachsen
        try {
            Nsachsen_Wappen = ImageIO.read(getClass().getResource("/img/Niedersachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNsachsen = new JButton();
        btnNsachsen.setIcon(new ImageIcon(Nsachsen_Wappen));
        lblNsachsen = new JLabel("Nsachsen");
        lblNsachsen.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblNsachsen.setForeground(Color.BLACK);
        lblNsachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblNsachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblNsachsen.setBounds(220, 386, 110, 140);
        btnNsachsen.setBounds(220, 306, 110, 140);

        // Nordrhein - Westfalen
        try {
            NRW_Wappen = ImageIO.read(getClass().getResource("/img/NRW.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnNRW = new JButton();
        btnNRW.setIcon(new ImageIcon(NRW_Wappen));
        lblNRW = new JLabel("NRW");
        lblNRW.setFont(lblNRW.getFont().deriveFont(Font.BOLD, 15));
        lblNRW.setForeground(Color.BLACK);
        lblNRW.setHorizontalAlignment(SwingConstants.CENTER);
        lblNRW.setVerticalAlignment(SwingConstants.CENTER);
        lblNRW.setBounds(340, 386, 110, 140);
        btnNRW.setBounds(340, 306, 110, 140);

        // Rheinland - Pfalz
        try {
            RP_Wappen = ImageIO.read(getClass().getResource("/img/Rheinland-Pfalz.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnRP = new JButton();
        btnRP.setIcon(new ImageIcon(RP_Wappen));
        lblRP = new JLabel("RP");
        lblRP.setFont(lblNsachsen.getFont().deriveFont(Font.BOLD, 15));
        lblRP.setForeground(Color.BLACK);
        lblRP.setHorizontalAlignment(SwingConstants.CENTER);
        lblRP.setVerticalAlignment(SwingConstants.CENTER);
        lblRP.setBounds(460, 386, 110, 140);
        btnRP.setBounds(460, 306, 110, 140);

        // Saarland
        try {
            Saarland_Wappen = ImageIO.read(getClass().getResource("/img/Saarland.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSaarland = new JButton();
        btnSaarland.setIcon(new ImageIcon(Saarland_Wappen));
        lblSaarland = new JLabel("Saarland");
        lblSaarland.setFont(lblSaarland.getFont().deriveFont(Font.BOLD, 15));
        lblSaarland.setForeground(Color.BLACK);
        lblSaarland.setHorizontalAlignment(SwingConstants.CENTER);
        lblSaarland.setVerticalAlignment(SwingConstants.CENTER);
        lblSaarland.setBounds(580, 386, 110, 140);
        btnSaarland.setBounds(580, 306, 110, 140);

        // Sachsen
        try {
            Sachsen_Wappen = ImageIO.read(getClass().getResource("/img/Sachsen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsen = new JButton();
        btnSachsen.setIcon(new ImageIcon(Sachsen_Wappen));
        lblSachsen = new JLabel("Sachsen");
        lblSachsen.setFont(lblSachsen.getFont().deriveFont(Font.BOLD, 15));
        lblSachsen.setForeground(Color.BLACK);
        lblSachsen.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsen.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsen.setBounds(700, 386, 110, 140);
        btnSachsen.setBounds(700, 306, 110, 140);

        // Sachsen - Anhaltt
        try {
            SachsenAnh_Wappen = ImageIO.read(getClass().getResource("/img/Sachsen-Anhalt.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSachsenAnh = new JButton();
        btnSachsenAnh.setIcon(new ImageIcon(SachsenAnh_Wappen));
        lblSachsenAnh = new JLabel("SachsenAnh");
        lblSachsenAnh.setFont(lblSachsenAnh.getFont().deriveFont(Font.BOLD, 15));
        lblSachsenAnh.setForeground(Color.BLACK);
        lblSachsenAnh.setHorizontalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setVerticalAlignment(SwingConstants.CENTER);
        lblSachsenAnh.setBounds(820, 386, 110, 140);
        btnSachsenAnh.setBounds(820, 306, 110, 140);

        // Schleswig - Holstein
        try {
            SH_Wappen = ImageIO.read(getClass().getResource("/img/Schleswig-Holstein.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnSH = new JButton();
        btnSH.setIcon(new ImageIcon(SH_Wappen));
        lblSH = new JLabel("SH");
        lblSH.setFont(lblSH.getFont().deriveFont(Font.BOLD, 15));
        lblSH.setForeground(Color.BLACK);
        lblSH.setHorizontalAlignment(SwingConstants.CENTER);
        lblSH.setVerticalAlignment(SwingConstants.CENTER);
        lblSH.setBounds(940, 386, 110, 140);
        btnSH.setBounds(940, 306, 110, 140);

        // Thüringen
        try {
            Th_Wappen = ImageIO.read(getClass().getResource("/img/Thueringen.png"));
        } catch (IOException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik konnte nicht gelesen werden!");
            ex.printStackTrace();
        } catch (IllegalArgumentException ex) {
            System.out.println("Ausnahmefehler beim Laden einer Grafik!\nEine Grafik wurde nicht gefunden!");
            ex.printStackTrace();
        }
        btnTh = new JButton();
        btnTh.setIcon(new ImageIcon(Th_Wappen));
        lblTh = new JLabel("Th");
        lblTh.setFont(lblTh.getFont().deriveFont(Font.BOLD, 15));
        lblTh.setForeground(Color.BLACK);
        lblTh.setHorizontalAlignment(SwingConstants.CENTER);
        lblTh.setVerticalAlignment(SwingConstants.CENTER);
        lblTh.setBounds(1060, 386, 110, 140);
        btnTh.setBounds(1060, 306, 110, 140);

        // Allgemeine Buttons
        btnCredits = new JButton("CREDITS");
        btnCredits.setFont(btnCredits.getFont().deriveFont(Font.BOLD, 15));
        btnCredits.setBounds(220, 240, 110, 40);
    }
}
```


----------



## stylegangsta (13. Sep 2015)

Hab das zentrierte Öffnen hinbekommen, aber habe keine Schimmer davon, wie ich nach paar Sekunden automatisch schließen lasse. Zentrierung wie folgt:

```
public SplashScreen() {
        JFrame frame = new JFrame();
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
       
        // Zentrierung / Breite & Höhe des Fensters
        Dimension splashSize = new Dimension(1280, 960);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int top = (screenSize.height - splashSize.height) / 2;
        int left = (screenSize.width - splashSize.width) / 2;
        frame.setSize(splashSize);
        frame.setLocation(left, top);
    }
```


----------



## Flown (14. Sep 2015)

Vielleicht solltest du dir mal die Klasse Timer ansehen.


----------



## stylegangsta (14. Sep 2015)

Flown hat gesagt.:


> Vielleicht solltest du dir mal die Klasse Timer ansehen.


Sehe ich mir gleich mal an nachdem ich meine Workspace und Co. auf dem Schulrechner wieder eingerichtet habe.


----------



## stylegangsta (14. Sep 2015)

Immer was anderes. Habe jetzt ein neues Projekt auf dem Schulrechner erstellt. (Selber Name, wie zu Hause)
Alle Klassen neu erstellt und die Codes kopiert und eingefügt. Img Package natürlich auch. Startet, aber ohne Splash mit folgenden Fehlern:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.MultiUIDefaults.getUIError(Unknown Source)
    at javax.swing.UIDefaults.getUI(Unknown Source)
    at javax.swing.UIManager.getUI(Unknown Source)
    at javax.swing.JPanel.updateUI(Unknown Source)
    at javax.swing.JPanel.<init>(Unknown Source)
    at javax.swing.JPanel.<init>(Unknown Source)
    at javax.swing.JPanel.<init>(Unknown Source)
    at javax.swing.JRootPane.createGlassPane(Unknown Source)
    at javax.swing.JRootPane.<init>(Unknown Source)
    at javax.swing.JFrame.createRootPane(Unknown Source)
    at javax.swing.JFrame.frameInit(Unknown Source)
    at javax.swing.JFrame.<init>(Unknown Source)
    at ProgramWindow.SplashScreen.<init>(SplashScreen.java:17)
    at BedienOberFlaeche$$Lambda$1/321001045.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)


----------



## stylegangsta (14. Sep 2015)

Habe den Timer in der main zwischen dem new Frame und setVisible(true); gesetzt. Merke keine Verzögerung, auch nicht mit 10000 ms.

Ist das überhaupt an der richtigen Stelle?

```
JFrame frame = new AEKFrame();
        int delay = 3000; // Millisekunden
        ActionListener taskPerformer = new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
            }
        };
        new Timer(delay, taskPerformer).start();
        frame.setVisible(true);
```


----------



## Flown (14. Sep 2015)

So hier noch mal Timer in meinem Beispiel:

```
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

public class Test {

    public static void main(String... args) {
        SwingUtilities.invokeLater(Test::new);
    }

    public Test() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setLocationRelativeTo(null);
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
        new Timer(3000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                frame.dispose();
            }
        }).start();
    }

    class MyPicture extends JPanel {
        private static final long serialVersionUID = 1L;
        private BufferedImage image;

        public MyPicture() {
            try {
                image = ImageIO.read(new URL("http://www.java-forum.org/data/avatars/m/48/48272.jpg?1440321974"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            setOpaque(false);
        }

        @Override
        public Dimension getPreferredSize() {
            return new Dimension(image.getWidth(), image.getHeight());
        }

        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this);
        }
    }
}
```

In deiner Fehlerbeschreibung steht dass eine `NullPointerException` geworfen wurde. An der angegebenen Stelle gibt dir irgendwas `null` zurück. Das solltest du am besten mal Debuggen.


----------



## stylegangsta (14. Sep 2015)

Hi, danke für deine Antwort. Wenn ich den Timer in der main einsetzte, wird der JFrame geschlossen. Es soll sich aber der SplashScreen schließen. Hab den Code mal dort unter setVisible(true); eingesetzt. Alles rot 

Bemerkung: Habe Java jdk, jre, eclipse mars. einfach alles komplett neu gemacht. Hat ohne Fehlermeldung funktioniert, Splashscreen und JFrame.

Beim zweiten mal wieder die gleichen Fehlermeldungen, wie ich schon gepostet hatte.


----------



## Flown (14. Sep 2015)

In dieser Fehlermeldung steht drinnen, dass etwas 'null' ist und die Zeile wird dir auch angezeigt.
Nämlich an der Stelle `at ProgramWindow.SplashScreen.<init>(SplashScreen.java:17)`


----------



## stylegangsta (14. Sep 2015)

Flown hat gesagt.:


> In dieser Fehlermeldung steht drinnen, dass etwas 'null' ist und die Zeile wird dir auch angezeigt.
> Nämlich an der Stelle `at ProgramWindow.SplashScreen.<init>(SplashScreen.java:17)`


Zeile 17: 
	
	
	
	





```
JFrame frame = new JFrame();
```
Darauf folgt:

```
frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
```
Nicht rot unterstrichen, keine Bemerkung gar nichts. Nur in der Konsole die Fehlermeldung. Ich versteh aber nicht, warum es beim ersten mal normal geklappt hat und dann beim zweiten Mal nicht mehr.


----------



## Flown (14. Sep 2015)

Funktioniert mein Beispiel nicht?


----------



## stylegangsta (14. Sep 2015)

Flown hat gesagt.:


> Funktioniert mein Beispiel nicht?


So alleine ja. Hats ja gestern auch schon, aber ich muss den Timer ja bei mir in der Klasse  SplashScreen haben und die hat keine main Methode. Wenn ich ihn in die main einbaue verschwindet der Frame, der stehen bleiben soll und nicht der Splash Screen. Mal abgesehen davon suche ich auch noch nach einer Lösung den den JFrame in der main erst 3 sekunden später starten zu lassen. Sprich nachdem der SplashScreen verschwunden ist.


----------



## Flown (14. Sep 2015)

Hier hast du mein Beispiel nochmal erweitert:

```
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.time.LocalTime;

import javax.imageio.ImageIO;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

public class Test {
  
    private static final String TIME_STRING = "Now it is: %1$tH:%1$tM:%1$tS";
  
    public static void main(String... args) {
        SwingUtilities.invokeLater(Test::new);
    }
  
    public Test() {
        openSplashScreen();
    }
  
    private void openSplashScreen() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setLocationRelativeTo(null);
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
        Timer t = new Timer(3_000, new ActionListener() {
          
            @Override
            public void actionPerformed(ActionEvent e) {
                frame.dispose();
                openMainScreen();
            }
        });
        t.setRepeats(false);
        t.start();
    }
  
    private void openMainScreen() {
        JFrame frame = new JFrame("Main");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
      
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
      
        Box timeBox = Box.createHorizontalBox();
        JLabel timeLabel = new JLabel(String.format(TIME_STRING, LocalTime.now()));
        timeBox.add(timeLabel);
      
        new Timer(50, e -> {
            timeLabel.setText(String.format(TIME_STRING, LocalTime.now()));
        }).start();
      
        Box exitBox = Box.createHorizontalBox();
        JButton exitBtn = new JButton("EXIT");
        exitBtn.addActionListener(e -> {
           timeTimer.stop();
           frame.dispose();
        });
        exitBox.add(exitBtn);
      
        mainPanel.add(Box.createVerticalStrut(20));
        mainPanel.add(timeBox);
        mainPanel.add(Box.createVerticalStrut(20));
        mainPanel.add(Box.createGlue());
        mainPanel.add(exitBox);
        mainPanel.add(Box.createGlue());
        mainPanel.add(Box.createVerticalStrut(20));
      
        frame.add(mainPanel);
        frame.pack();
        frame.setVisible(true);
    }
  
    class MyPicture extends JPanel {
        private static final long serialVersionUID = 1L;
        private BufferedImage image;
      
        public MyPicture() {
            try {
                image = ImageIO.read(new URL("http://www.java-forum.org/data/avatars/m/48/48272.jpg?1440321974"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            setOpaque(false);
        }
      
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(image.getWidth(), image.getHeight());
        }
      
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this);
        }
    }
}
```


----------



## stylegangsta (14. Sep 2015)

Hab es gerade auch hinbekommen, aber anders. Probiere jetzt noch den openmainscreen aus, den du beigefügt hast

```
public SplashScreen() {
        JFrame frame = new JFrame();
        frame.setAlwaysOnTop(true);
        frame.add(new MyPicture());
        frame.setUndecorated(true);
        frame.setBackground(new Color(1f, 1f, 1f, 0f));
        frame.pack();
        frame.setVisible(true);
       
        // Zentrierung / Breite & Höhe des Fensters
        Dimension splashSize = new Dimension(1024, 768);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int top = (screenSize.height - splashSize.height) / 2;
        int left = (screenSize.width - splashSize.width) / 2;
        frame.setSize(splashSize);
        frame.setLocation(left, top);
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        frame.dispose();
    }
```


----------



## stylegangsta (14. Sep 2015)

Kann es sein, dass ein deinem Beispiel ein komplett neues Fenster erstellt wird?
Wäre das möglich die Zeitverzögerung von 3 Sekunden des JFrames in der main direkt in meinen Code einzubauen?


----------



## stylegangsta (14. Sep 2015)

Hab deinen Timer von gestern an mehreren stellen im main code ausprobiert, auch an der Stelle, wie in deinem Beispiel, aber leider erscheint das eigentliche JFrame Zeitgleich mit dme SplashScreen, anstatt 3 Sekunden später


----------



## stylegangsta (14. Sep 2015)

GELÖST. DANKE DANKE UND NOCHMALS DANKE FÜR DEINE HILFE UND MÜHE
Öffnet sich zuerst der Splash, dann die Benutzeroberfläche, musste dasselbe in die main verbauen nur

```
JFrame frame = new AEKFrame();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        frame.setVisible(true);
```


----------

