Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Java] Netbeans Swing interface wil niet starten op OSX

Pagina: 1
Acties:
  • 371 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Okay, ik zit hier als beginnende Java-prutser met een probleem waar ik niet uit kom. Ik heb een kleine interface gemaakt in Netbeans 5.5.1 onder Windows en daar werkt het perfect. Ik heb hem gewoon met de geintegreerde UI-designer van Netbeans gemaakt en zowel op Windows als Linux gaat dat allemaal prima.

Maar nu...OS X.... Allereerst lopen ze een klap achter met de updates, Java 1.5. Dat leverde dus al een behoorlijke hoop errors op. Na wat zoekwerk in de project.properties

code:
1
2
javac.source=1.5
javac.target=1.5


opgenomen: voila, dat scheelde al een bak met errors. Maar toen...

code:
1
java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group


Deze guide gevonden. Ik heb nu dus inderdaad de Swing layout expliciet bij de libraries opgenomen en deze wordt ook keurig in de dist/lib directory opgenomen. Maar toch blijf ik het probleem houden dat Swing schijnbaar niet gevonden wordt.

Heeft iemand een idee hoe ik dit kan oplossen? ik ben een beginnert met Java, keep it simple ;) Thanks :)

  • coenbijlsma
  • Registratie: Augustus 2004
  • Niet online
Ik weet niet of het op een Mac hetzelfde werkt als onder Linux, maar ik had ook zo'n probleem onder Linux omdat daar standaard een Open Source versie van Java geïnstalleerd was, en ik na installatie van de Sun-Java de java-alternatives moest updaten. Daarna werkte het wel...

Verwijderd

Topicstarter
Op OS-X wordt Java gewoon standaard meegeleverd en kan hij verder niet geupdate worden afaik :) Ik heb het door twee mensen laten testen en ze krijgen beiden deze error. Het vreemde is dat hij niet piept over de andere libraries die ik meelever met de .jar (lib dir naast de .jar), maar alleen over Swing.

Stukje code:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package my.Lightroomstatistics;

import java.awt.Component;
import java.sql.*;
import java.io.*;
import java.util.*;
import org.sqlite.JDBC;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.xpath.*;
import java.io.File;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.MultipartPostMethod;
import javax.swing.JFileChooser;
import javax.swing.UIManager;

public class Lightroomstatistics extends javax.swing.JFrame {
    
    /** Creates new form Lightroomstatistics */
    public Lightroomstatistics() {
        initComponents();
    }

public static void main(String args[]) {
        
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try{
                //OS-based theme selecteren, uitschakelen lost het probleem op OS-X niet op
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                }
                catch (Exception e) { }
                new Lightroomstatistics().setVisible(true);
            }
        });
    }


manifest.mf file in de .jar:

code:
1
2
3
4
5
6
7
8
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.6.0_02-b06 (Sun Microsystems Inc.)
Main-Class: my.Lightroomstatistics.Lightroomstatistics
X-COMMENT: Main-Class will be added automatically by build
Class-Path: lib/commons-codec-1.3.jar lib/commons-httpclient-3.1-rc1.j
 ar lib/commons-logging-1.1.jar lib/jaxen-1.1.1.jar lib/jdom.jar lib/s
 qlitejdbc-v036-native.jar lib/swing-layout-1.0.jar

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 00:56
Hoe wordt de applicatie opgestart? Vanuit de terminal met java -jar application.jar of via dubbelklikken op de jar file vanuit de Finder? Probeer beide eens. Als de een wel opstart ligt het aan je environment welke in Mac OS X verschillend is voor de terminal en gui applicaties.

Verwijderd

Topicstarter
Okay, het werkt! Ik zal straks eens een pagina met een kleine guide posten. Het is supersimpel, maar ik denk dat meer beginners hier tegenaan lopen...

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 00:56
Okay, het werkt! Ik zal straks eens een pagina met een kleine guide posten. Het is supersimpel, maar ik denk dat meer beginners hier tegenaan lopen...
Krijgen we nog te horen wat het probleem en de oplossing ervan was?

Verwijderd

Topicstarter
Even kort, ik heb geen tijd om te screenshotten: de compiletarget was Java 1.5 vanwege MacOSX, maar Netbeans stond Java6 code te genereren voor Swing. Het bundelen van de Swing library en het omzetten van de optie om standaard Java6 code te gebruiken naar de meegeleverde library gebruiken loste het probleem op.

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Verwijderd schreef op donderdag 13 september 2007 @ 09:40:
Even kort, ik heb geen tijd om te screenshotten: de compiletarget was Java 1.5 vanwege MacOSX, maar Netbeans stond Java6 code te genereren voor Swing. Het bundelen van de Swing library en het omzetten van de optie om standaard Java6 code te gebruiken naar de meegeleverde library gebruiken loste het probleem op.
Dit staat ook gewoon in de documentatie van Netbeans:
http://wiki.netbeans.info...FaqFormSwingLayoutLibrary
en
http://wiki.netbeans.info...oyingMatisseBasedProjects
Pagina: 1