Splash Screen erscheint nicht

stylegangsta

Bekanntes Mitglied
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.
Java:
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);
    }
}

Java:
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);
    }
}
 

stylegangsta

Bekanntes Mitglied
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

Bekanntes Mitglied
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

Administrator
Mitarbeiter
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:
Java:
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);
        }
    }
}
 
Zuletzt bearbeitet:

stylegangsta

Bekanntes Mitglied
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
Java:
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);
    }
}
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
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

Bekanntes Mitglied
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

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

stylegangsta

Bekanntes Mitglied
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
Java:
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

Administrator
Mitarbeiter
Also ich kann dir sagen, dass mit diesem Code:
Java:
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:
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    10,2 KB · Aufrufe: 42

stylegangsta

Bekanntes Mitglied
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

Bekanntes Mitglied
Vielleicht sollte ich den IST Zustand des codes posten. Alle drei Klassen der Reihe nach:
Java:
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);
    }
}
Java:
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() {   
    }
}
Java:
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

Bekanntes Mitglied
Hab das zentrierte Öffnen hinbekommen, aber habe keine Schimmer davon, wie ich nach paar Sekunden automatisch schließen lasse. Zentrierung wie folgt:
Java:
    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);
    }
 

stylegangsta

Bekanntes Mitglied
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

Bekanntes Mitglied
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?
Java:
        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

Administrator
Mitarbeiter
So hier noch mal Timer in meinem Beispiel:
Java:
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

Bekanntes Mitglied
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

Administrator
Mitarbeiter
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

Bekanntes Mitglied
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:
Java:
JFrame frame = new JFrame();
Darauf folgt:
Java:
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.
 

stylegangsta

Bekanntes Mitglied
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

Administrator
Mitarbeiter
Hier hast du mein Beispiel nochmal erweitert:
Java:
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

Bekanntes Mitglied
Hab es gerade auch hinbekommen, aber anders. Probiere jetzt noch den openmainscreen aus, den du beigefügt hast
Java:
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

Bekanntes Mitglied
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

Bekanntes Mitglied
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

Bekanntes Mitglied
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
Java:
JFrame frame = new AEKFrame();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        frame.setVisible(true);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Danloc Swing Splash Screen Prozentanzeige AWT, Swing, JavaFX & SWT 4
Hijo2006 Splash-Screen AWT, Swing, JavaFX & SWT 2
S Splash Screen / "Loading" Anzeige im Programm AWT, Swing, JavaFX & SWT 27
L Animierter Splash-Screen (mit NetBeans 6.1 z.B.) AWT, Swing, JavaFX & SWT 2
F splash screen mit progress bar - probleme mit invoke later AWT, Swing, JavaFX & SWT 7
H Transparente Splash-Screen AWT, Swing, JavaFX & SWT 5
I Splash Screen AWT, Swing, JavaFX & SWT 7
O der neue eclipse 3.1 splash screen AWT, Swing, JavaFX & SWT 3
G Splash Screen AWT, Swing, JavaFX & SWT 6
V Thread als kleines splash AWT, Swing, JavaFX & SWT 13
I Screen nur 1x öffnen können AWT, Swing, JavaFX & SWT 17
M Loading Screen anzeigen bei Black Screen AWT, Swing, JavaFX & SWT 1
S 3D-Grafik Marker zu aus Screen anvisiertem Object AWT, Swing, JavaFX & SWT 1
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
F GWT Screen size AWT, Swing, JavaFX & SWT 2
E Swing Grundlegendes Vorhehen. Login-Screen, danach Arbeits-Screen AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
G AWT Full-Screen Exclusive Mode AWT, Swing, JavaFX & SWT 3
P Swing || AWT unschlüssig + Layoutfrage [m. Screen] AWT, Swing, JavaFX & SWT 16
J Screen Capture AWT, Swing, JavaFX & SWT 5
G Screen nach Auswahl schließen und neuen öffnen?wie mach ichs AWT, Swing, JavaFX & SWT 8
S e(fx)clipse erscheint nicht im Marketplace, lässt sich nicht installieren AWT, Swing, JavaFX & SWT 16
L JTextField erscheint erst nach Veränderung der Framegröße AWT, Swing, JavaFX & SWT 5
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
E JMenu erscheint nach RDP-Verbindung auf falschem Desktop AWT, Swing, JavaFX & SWT 1
D Button erscheint nicht AWT, Swing, JavaFX & SWT 2
B Swing BalloonTip erscheint nicht in den ersten Zeilen einer JXTable AWT, Swing, JavaFX & SWT 4
A Swing JSlider erscheint doppelt AWT, Swing, JavaFX & SWT 2
T AWT Graphics G Kein Text erscheint warum? AWT, Swing, JavaFX & SWT 12
L Swing JPanel erscheint erst beim Vergrößern AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Panel-Zeichnung erscheint nicht AWT, Swing, JavaFX & SWT 7
R Fensterinhalt erscheint erst, wenn das Fenster verändert wird AWT, Swing, JavaFX & SWT 7
A SWT SWT - Unbekannte Fläche (Objekt) erscheint im Composite AWT, Swing, JavaFX & SWT 6
BattleMaster246 JDialog erscheint in der Taskbar AWT, Swing, JavaFX & SWT 7
G Swing Die Menüleiste erscheint nicht AWT, Swing, JavaFX & SWT 8
M JScrollPane und JTree -> JScrollPane erscheint nicht AWT, Swing, JavaFX & SWT 6
W JDialog erscheint nur durchsichtig AWT, Swing, JavaFX & SWT 7
G JDialog erscheint nicht AWT, Swing, JavaFX & SWT 2
J Button erscheint (nicht) AWT, Swing, JavaFX & SWT 8
T Prozesse starten wenn JDialog erscheint AWT, Swing, JavaFX & SWT 2
F Häkchen erscheint nicht bei anklicken von Checkbox in JTable AWT, Swing, JavaFX & SWT 4
G Bild erscheint in Eclipse, aber nicht wenn Programm aus jar AWT, Swing, JavaFX & SWT 11
A Panelinhalt erscheint erst nach Mouseklick auf den Framerand AWT, Swing, JavaFX & SWT 6
L Falsches Fenster erscheint im Vordergrund bei Taskwechsel AWT, Swing, JavaFX & SWT 3
T JMenu erscheint nicht richtig AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben