# Das sag mir einer Java ist plattform unabhänig !



## Feeder (30. Aug 2014)

Hey,
:rtfm::rtfm::rtfm::rtfm:
 auf meinen Mac läuft der folgende Anhang perfekt. Mit Space "springen" mit links und rechts laufen.
Ich habe keinerlei Systemanfragen wie getVersion oder sowas...
Alles sollte laufen wie normal auf dem Windows doch meine Freunde können es nicht starten.

Könnt ihr es bitte ausprobieren und sagen ob es bei euch klappt.
Echt komisch...

MFG Feeder


----------



## Java20134 (30. Aug 2014)

Konnte es auch nicht öffnen und habe Windows 7.


----------



## Sogomn (30. Aug 2014)

Exception in thread "main" java.lang.UnsupportedClassVersionError: game2D/engineandgui/MainFrame : Unsupported major.minor version 52.0

Mein Spiel kann ich perfekt auf allen Systemen ausführen. Der Fehler muss bei dir liegen.


----------



## Feeder (30. Aug 2014)

```
package game2D.engineandgui;

import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author Niclas
 */
public class MainFrame extends javax.swing.JFrame {
   
    public MainFrame() {
        initComponents();
    }

 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setResizable(false);

        jButton1.setText("Start");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Einstellungen");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setText("Credits");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setText("Ende");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(10, Short.MAX_VALUE)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         JFrame minigame = new JFrame("Game");
        minigame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        minigame.setSize(640,400);
        minigame.add(new Game());
        minigame.setVisible(true);
        minigame.setResizable(false);
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        new Properties();
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        JFrame frame = new Credits();
        frame.setVisible(true);
        
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       dispose();
    }                                        


    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see [url=http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)[/url] 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MainFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    // End of variables declaration                   
}
```

Dann muss der Fehler im GUI Builder von Netbeans liegen, kann es das LookAndFeel sein, ich bin ein bisschen deprimiert ...


----------



## Feeder (30. Aug 2014)

2. Versuch ???


----------



## Java20134 (30. Aug 2014)

A Java Exception has occurred. Diese Fehlermeldung kommt bei mir immer noch. Es hat sich leider nichts geändert.


----------



## kaoZ (30. Aug 2014)

> Unsupported major.minor version 52.0



Unter JRE 1.8 Kompiliert ?

Das ist dann mit niedrigeren Versionen nicht kompatibel, einfach andere JRE bzw. Compiler-version auswählen und erneut kompilieren.


----------



## Feeder (30. Aug 2014)

Hmm robier ich gleich auf, aber was bringt mit JDK 8 wen keiner Java 8 hat???


----------



## Tobse (31. Aug 2014)

Windows 7 64bit mit 64bit JVM 1.8.0 Update 20 => läuft.



Feeder hat gesagt.:


> Hmm robier ich gleich auf, aber was bringt mit JDK 8 wen keiner Java 8 hat???


Java 8 ist jetzt etwa ein halbes Jahr draussen. Die "Dummie"-Anwender Updaten es nicht, meisst läuft noch Java 6 oder 7. Java 8 kannst du auf der Client-Seite erst anwenden, wenn es sich etabliert hat und das wird noch 1-2 Jahre dauern. Aber es bringt den Entwicklern trotzdem was: Java läuft auch sehr viel auf Servern. Und da dort die JVM vom Entwickler bestimmt wird, kann man Java 8 dort wunderbar einsetzen.


----------



## Phaesty (31. Aug 2014)

Unter Windows 8.1 64 Bit mit Java 1.8 läuft es tadellos. Bei deinem Netbeansprojekt unter Properties gehen und ganz unten Source/Binary Format auf eine ältere Version ändern, soweit möglich, dann kann man einige Probleme umgehen.


----------



## Ruzmanz (31. Aug 2014)

> Java 8 ist jetzt etwa ein halbes Jahr draussen. Die "Dummie"-Anwender Updaten es nicht, meisst läuft noch Java 6 oder 7. Java 8 kannst du auf der Client-Seite erst anwenden, wenn es sich etabliert hat und das wird noch 1-2 Jahre dauern. Aber es bringt den Entwicklern trotzdem was: Java läuft auch sehr viel auf Servern. Und da dort die JVM vom Entwickler bestimmt wird, kann man Java 8 dort wunderbar einsetzen.



Das Problem mit der 52er Version tritt auch umgekehrt auf. Ich muss ein Applet zur Authentifizierung nutzen, dass mit neuen Versionen nicht klar kommt. Zudem wurde der JDBC-ODBC-Treiber verworfen. Die Anzahl der Programme ist sicherlich gering, aber trotzdem ärgerlich. Mal ganz davon abgesehen gab es bei JavaFX eine visuelle Rückmeldung, dass kein JavaFX 2.0 installiert ist und wo/wie man es downloaden kann. Beim minor.version weis man überhaupt nicht, was los ist ...



> Könnt ihr es bitte ausprobieren und sagen ob es bei euch klappt.



Klappt ohne Probleme. Java 1.8


----------

