Dlaczego mój plik Runnable Jar nie działa

Poszedłem za około 10 różnymi samouczkami i żaden z nich nie wydawał się podstępny, mój plik runnable jar po prostu nie działa.

Mójgra działa dobrze kiedy go uruchomię w zaćmieniu, a ja byłempotrafił zrobić to z działającego pliku jar tylko dzień lub dwa temu i nie zmieniłem zbyt wiele kodu. Kiedy próbuję uruchomić .jar, na dole ekranu pojawia się ikona java, ale nic się nie dzieje.

To mój program uruchamiający nie otwiera się (jeśli uruchomię bez programu uruchamiającego, działa dobrze), nie ma błędów, które otwieram za pomocą terminala lub zaćmienia.

package com.l3g3nds.threed;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class Launcher extends JFrame implements MouseListener, MouseMotionListener {
    private static final long serialVersionUID = 1L;

    protected JPanel window = new JPanel();
    // private JButton play, options, help, quit, credits;
    // private Rectangle rplay, roptions, rhelp, rquit, rcredits;

    protected int buttonWidth = 120;
    protected int buttonHeight = 40;

    public Launcher(int id) {
        JPanel panel = (JPanel) getContentPane();

        JLabel label = new JLabel();
        label.setIcon(new ImageIcon("res/Launcher/schoolbackground.png"));
        System.out.println(Display.lScreen());
        if (Display.lScreen() == 5)
            label.setIcon(new ImageIcon("res/Launcher/quit1.png"));
        if (Display.lScreen() == 4)
            label.setIcon(new ImageIcon("res/Launcher/credits1.png"));
        if (Display.lScreen() == 3)
            label.setIcon(new ImageIcon("res/Launcher/options1.png"));
        if (Display.lScreen() == 2)
            label.setIcon(new ImageIcon("res/Launcher/help1.png"));
        if (Display.lScreen() == 1)
            label.setIcon(new ImageIcon("res/Launcher/beginrunning1.png"));
        panel.add(label);

        setUndecorated(true);

        System.out.println("launched");
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setLocationRelativeTo(null);
        pack();
        setVisible(true);

        addMouseListener(this);
        addMouseMotionListener(this);

    }

    public void drawButtons() {
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        int cx = e.getX();
        int cy = e.getY();
        if (cx >= 11 && cy >= 14 && cx <= 214 && cy <= 44) {
            dispose();
            new RunGame();
        } else if (cx >= 11 && cy >= 66 && cx <= 70 && cy <= 96) {
            //open help
        } else if (cx >= 11 && cy >= 119 && cx <= 119 && cy <= 144) {
            this.dispose();
            new Options();
        } else if (cx >= 11 && cy >= 170 && cx <= 114 && cy <= 200) {
            //open credits
        } else if (cx >= 11 && cy >= 222 && cx <= 74 && cy <= 254) {
            System.exit(0);
        }

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseDragged(MouseEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseMoved(MouseEvent e) {
        // TODO Auto-generated method stub
        int mx = e.getX();
        int my = e.getY();
        if (mx >= 11 && my >= 14 && mx <= 214 && my <= 44) {
            if (Display.lScreen() != 1) {
                Display.setlScreen(1);
                new Launcher(1);
                System.out.println("1");
            }
        } else if (mx >= 11 && my >= 66 && mx <= 70 && my <= 96) {
            if (Display.lScreen() != 2) {
                Display.setlScreen(2);
                new Launcher(1);
                System.out.println("2");
            }
        } else if (mx >= 11 && my >= 119 && mx <= 119 && my <= 144) {
            if (Display.lScreen() != 3) {
                Display.setlScreen(3);
                new Launcher(1);
                System.out.println("3");
            }
        } else if (mx >= 11 && my >= 170 && mx <= 114 && my <= 200) {
            if (Display.lScreen() != 4) {
                Display.setlScreen(4);
                new Launcher(1);
                System.out.println("4");
            }
        } else if (mx >= 11 && my >= 222 && mx <= 74 && my <= 254) {
            if (Display.lScreen() != 5) {
                Display.setlScreen(5);
                new Launcher(1);
                System.out.println("5");
            }
        }
        else {
            if (Display.lScreen() != 0) {
                Display.setlScreen(0);
                new Launcher(1);
                System.out.println("0");
            }
        }
    }
}

Używam maca, jeśli to pomaga ...

Oto zrzuty ekranu, które zrobiłem z dokładnych kroków, które zrobiłem

Mam kilka ostrzeżeń (myślę, że są tylko z powodu nieużywanych zmiennych, otrzymałem tę wiadomość wcześniej, kiedy udało mi się uruchomić mój .jar)

Wygląda na to, że na górze ekranu wraz z ikoną java na dole, ale nic więcej się nie dzieje.

-Dzięki

questionAnswers(3)

yourAnswerToTheQuestion