Avatar billede tigertool Nybegynder
17. november 2006 - 21:20 Der er 4 kommentarer og
1 løsning

SWT i Eclipse 3.2.1

Jeg har lige downloadet Eclipse 3.2.1 for at prøve SWT.

Jeg har oprettet et projekt og tilføjet org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar fra plugins til Project Libraries.

Jeg har så skrevet lidt test kode:
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setSize(200, 300);
        Label lbHeader = new Label(shell, SWT.BORDER);
        lbHeader.setText("Main ClubLead App");
        shell.pack();
        lbHeader.pack();
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        display.dispose();
        lbHeader.dispose();

    }

- og jeg har selvfølgelig importetet det der var nødvendigt.

Men nu hvor jeg prøver at køre mit kode så før jeg følgende fejl:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3235 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
    at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125)
    at Test.main(Test.java:21)

Jeg har så læst at man skal tilføje en swt DLL, men jeg synes ikke at kunne finde denne DLL? Og hvordan skal denne tilføjes?
Avatar billede javafreak Nybegynder
18. november 2006 - 01:50 #1
Køre følgende kode for at få udskrevet hvilke mapper der er i din java.library.path


System.out.println(System.getProperty(“java.library.path”));

kopier så SWT native libraries (alle SWT dll filerne) ind i en af de angivne mapper(ligegyldigt hvadfor en du vælger af dem).

For at skaffe de filer kan du downloade den pakke(Zip fil for windows) der passer til dit OS, under stable release på http://www.eclipse.org/swt/

dll filerne er i den pakke.
Avatar billede tigertool Nybegynder
18. november 2006 - 02:12 #2
Jeg har nu oprettet en mappe C:\SWT. Denne mappe er tilføjet via VM arguments:
-Djava.library.path=C:\swt

i mappen forefindes følgende filer:
swt-awt-win32-3235.dll
swt-gdip-win32-3235.dll
swt-wgl-win32-3235.dll
swt-win32-3235.dll
swt.jar

Men jeg får stadig følgende fejl:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3235 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
    at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125)
    at Test.main(Test.java:32)
Avatar billede tigertool Nybegynder
18. november 2006 - 02:14 #3
Forresten så skriver System.out.println(System.getProperty("java.library.path")) følgende ud:
C:\swt
Avatar billede tigertool Nybegynder
20. januar 2007 - 02:11 #4
Jeg har stadig ikke fået løst problemet. Valgte bare at droppe eclipse!
Avatar billede tigertool Nybegynder
20. januar 2007 - 02:11 #5
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester