Tzor
21-02-2011, 10:25
Ho questa porzione di codice che crea un JFrame i cui parametri e componenti sono definiti nel costruttore della classe MainFrame che contiene il metodo main riportato sotto:
public static void main(String [] args) {
MainFrame viewer = new MainFrame();
viewer.setVisible(true);
}
Come si nota non è necessario passare alcun parametro da riga di comando. Ora, quello che non capisco è il motivo per cui su alcune macchine, ma non tutte, quando avvio l'applicazione mi dà come risposta un'ArrayIndexOutofBoundsException: 0.
java.lang.ArrayIndexOutOfBoundsException: 0
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationARB(WindowsWGLGraphicsConfigurationFactory.java:276)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:190)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:174)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:164)
at com.jogamp.opengl.impl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:125)
at javax.media.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:228)
at javax.media.opengl.awt.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:885)
at javax.media.opengl.awt.GLCanvas.addNotify(GLCanvas.java:493)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at javax.swing.JRootPane.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at java.awt.Window.addNotify(Unknown Source)
at java.awt.Frame.addNotify(Unknown Source)
at java.awt.Window.pack(Unknown Source)
at viewer.MainFrame.initComponents(MainFrame.java:213)
at viewer.MainFrame.<init>(MainFrame.java:97)
at viewer.MainFrame.main(MainFrame.java:243)
E' normale che mi causi un'eccezione del genere nonostante nel codice non usi mai il parametro args del metodo main? Come risolvere? Perchè su alcuni pc lo stesso identico codice non mi causa nessun problema?
public static void main(String [] args) {
MainFrame viewer = new MainFrame();
viewer.setVisible(true);
}
Come si nota non è necessario passare alcun parametro da riga di comando. Ora, quello che non capisco è il motivo per cui su alcune macchine, ma non tutte, quando avvio l'applicazione mi dà come risposta un'ArrayIndexOutofBoundsException: 0.
java.lang.ArrayIndexOutOfBoundsException: 0
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationARB(WindowsWGLGraphicsConfigurationFactory.java:276)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:190)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:174)
at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:164)
at com.jogamp.opengl.impl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:125)
at javax.media.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:228)
at javax.media.opengl.awt.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:885)
at javax.media.opengl.awt.GLCanvas.addNotify(GLCanvas.java:493)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at javax.swing.JRootPane.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at java.awt.Window.addNotify(Unknown Source)
at java.awt.Frame.addNotify(Unknown Source)
at java.awt.Window.pack(Unknown Source)
at viewer.MainFrame.initComponents(MainFrame.java:213)
at viewer.MainFrame.<init>(MainFrame.java:97)
at viewer.MainFrame.main(MainFrame.java:243)
E' normale che mi causi un'eccezione del genere nonostante nel codice non usi mai il parametro args del metodo main? Come risolvere? Perchè su alcuni pc lo stesso identico codice non mi causa nessun problema?