Exportierte JAR öffnet zweiten Frame nicht mehr

Creepaz

Bekanntes Mitglied
Servus,

in Eclipse kann ich mein Projekt ohne Probleme öffnen, allerdings sobald ich es exportiere kommt nur der Frame zum einloggen und sobald ich einloggen gedrückt habe, wird der zweite Frame nicht mehr geöffnet. Woran könnte sowas liegen? Wie gesagt, im Projekt funktioniert es ohne jegliche Fehlermeldungen.
 

LimDul

Top Contributor
Aufgrund deiner Informationen vermute ich, du hast einen Fehler gemacht.

Ohne Code und Ordnerstrukturen etc. ist es sehr schwer da was zu sagen.
 

Creepaz

Bekanntes Mitglied
Ja, nur war ich mir gerade etwas unsicher welchen Teil des Codes ich posten sollte, da ich ziemlich viel in letzter Zeit verändert habe. Bin nun so halbwegs dahinter gekommen, es war zwecks dem Hintergrundbild das erst geladen wurde wenn der Frame geöffnet wurde, habe es nun in die Main-Klasse und nun funktioniert es schonmal wieder bisschen besser. Nur noch die Bilder anpassen, trotzdem vielen Dank.
 

LimDul

Top Contributor
Was mir noch einfällt als kleiner Tipp. Das exportierte Projekt nicht einfach per Doppelklick starten, sondern in der Konsole mittels java -jar meinJar.jar. Dann siehst du auch Exceptions.
 

Creepaz

Bekanntes Mitglied
So, nochmal zu dem Thema. Nun klappt soweit alles, bis auf das, dass mein Charakter im Spiel angezeigt wird. Das Hintergrundbild wird geladen, aber der Charakter nicht (nur wenn ich direkt aus Eclipse starte, exportiert lädt er nicht). Hier mal mein Code:

Main-Klasse:
Java:
public class Main {
 public static BufferedImage img;
 public static BufferedImage imgCharacter;
 
 public static void main(String[] args) { 
  EventQueue.invokeLater(new Runnable() {
   @Override
   public void run() {
    new LoginPage();
    FrameCreator.frameLogin.setVisible(true);
   }
  });
  
  try {
   img = ImageIO.read((BG_Playground.class.getResourceAsStream("/resources/Spiellandschaft_TAG.png")));
   imgCharacter = ImageIO.read((BG_Playground.class.getResourceAsStream("/resources/char1.png")));
  } catch (IOException e) {
   e.printStackTrace();
  }
  
  new FrameCreator();
  new handlers.MouseHandler();
 }
}

Zum Zeichnen des Charakters:
Java:
public class BG_Playground extends JPanel {
 private static final long serialVersionUID = 2922803220906203092L;
 
 private BufferedImage image;
    private Image scaled;
    public BG_Playground(BufferedImage image) {
        this.image = image;
    }
   
    @Override
    public Dimension getPreferredSize() {
        Insets insets = getInsets();
        int width = insets.left + insets.right + image.getWidth();
        int height = insets.top + insets.bottom + image.getHeight();
        return new Dimension(width, height);
    }
    @Override
    protected void paintComponent(Graphics g) {
     int coordsX = LoggedInPage.charX;
     int coordsY = LoggedInPage.charY;
     
        Insets insets = getInsets();
        g.drawImage(getScaled(), insets.left, insets.top, null);
        g.drawImage(Main.imgCharacter, coordsX, coordsY, FrameCreator.loggedIn.getWidth()/50, FrameCreator.loggedIn.getHeight()/25, null);
       
        repaint();
    }
    public Image getScaled() {
        Insets insets = getInsets();                
        int w = getWidth() - insets.left - insets.right;
        int h = getHeight() - insets.top - insets.bottom;
        if (scaled == null || scaled.getWidth(null) != w || scaled.getHeight(null) != h) {
            scaled = image.getScaledInstance(w, h, Image.SCALE_SMOOTH);
        }
        return scaled;
    }
}
 

LimDul

Top Contributor
Ganz blöde Frage: Fehler bei Groß/Kleinschreibung? Die ist vermutlich beim Start aus Eclipse egal, weil es da aus dem Dateisystem geladen wird, beim Start aus dem Jar nicht mehr.

Ansonsten das erzeugte Jar mal in .zip umbennen und schauen ob die Datei da drin landet. Wenn nein, stimmt was in Eclipse mit den Einstellungen zum Buld-Path bzw. Src-Dirs nicht.
 

Creepaz

Bekanntes Mitglied
Groß-/Kleinschreibung passt, und beim direkten Exportieren taucht das PNG-Bild auch im resources-Ordner auf. Habe nun den try-catch Block beim Laden der Bilder als erstes in die Main-Klasse, bevor ich den Frame öffnen lasse. Sobald imgCharacter mit drin ist, startet er nicht mehr, bringt aber auch keinen Fehler. Kommentiere ich das wieder aus, öffnet es wieder ganz normal o_O

EDIT: Nun klappts, hab das Bild nochmal gelöscht und erneut in den resources-Ordner, nun klappt alles... Komisch
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Exportierte jar Datei stürzt ab Java Basics - Anfänger-Themen 2
D exportierte *.jar funktioniert nicht Java Basics - Anfänger-Themen 12
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
H Wieso öffnet sich der Texteditor? Java Basics - Anfänger-Themen 6
D Programm öffnet hinter Taskleiste Java Basics - Anfänger-Themen 1
E Eclipse öffnet nur mit Trick Java Basics - Anfänger-Themen 2
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
T GUI öffnet sich nicht Java Basics - Anfänger-Themen 23
T Ausführbare .jar öffnet nur ein cmd... Java Basics - Anfänger-Themen 2
A JDialog öffnet sich nicht Java Basics - Anfänger-Themen 7
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
L Eclipse.exe öffnet sich nicht. Java Basics - Anfänger-Themen 7
D Erste Schritte Java Konsole öffnet sich nicht Java Basics - Anfänger-Themen 4
W ObjectInputStream öffnet nicht Java Basics - Anfänger-Themen 4
D Programm öffnet sich nicht Java Basics - Anfänger-Themen 5
K Erste Schritte Ein Button öffnet ein JFrame Java Basics - Anfänger-Themen 16
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
E javaw öffnet trotzdem ein DOS Fenster Java Basics - Anfänger-Themen 15
T Warum öffnet sich kein Fenster? Java Basics - Anfänger-Themen 3
D Applet öffnet nicht richtig Java Basics - Anfänger-Themen 4
E PopupMenu öffnet nicht so wie ich möchte Java Basics - Anfänger-Themen 2
G cmd.exe öffnet sich nicht Java Basics - Anfänger-Themen 5
S JFileChooser öffnet Unterverzeichnisse sehr langsam Java Basics - Anfänger-Themen 2
L Warum öffnet sich aus einer .jar-Datei kein Dosfenster? Java Basics - Anfänger-Themen 5
K ResultSet öffnet sich garnicht erst Java Basics - Anfänger-Themen 9
L JFrame öffnet 2tes JFrame, welches Daten vom 1sten braucht. Java Basics - Anfänger-Themen 21
D Programmausführung öffnet sich nicht Java Basics - Anfänger-Themen 4
F Packprogramm öffnet sich bei Doppelklick auf jar-Datei Java Basics - Anfänger-Themen 26
W warum öffnet der nur die erste datei???? Java Basics - Anfänger-Themen 5
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
N ArrayList: Das zweite Element wird zur Liste nicht eingefügt nach dem zweiten request. Java Basics - Anfänger-Themen 3
C Datei mit Daten einlesen und höchsten wert der zweiten Spalte ermitteln Java Basics - Anfänger-Themen 1
E Zahlenfolge des einen Arrays in zweiten enthalten Java Basics - Anfänger-Themen 7
W If_Bedingung in statischer Methode beim zweiten Mal nicht durchlaufen Java Basics - Anfänger-Themen 14
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
K Warum werden die Methode in den Zweiten Paket nicht gerufen? Java Basics - Anfänger-Themen 5
A Var von Main Klasse von einer zweiten Klasse nutzen? Java Basics - Anfänger-Themen 10
G Zweiten Frame schließen Java Basics - Anfänger-Themen 3
E Zweiten Container anlegen Java Basics - Anfänger-Themen 5
M RandomAccessFile liest nur jeden zweiten Wert aus! Java Basics - Anfänger-Themen 8
C zum zweiten: fließkommazahlen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben