2010-02-16 10 views
0

J'essaie de créer une application Hello World SWT en utilisant Eclipse. Je suis toutes les instructions et à la fin mon programme ne fonctionne pas.Pourquoi mon application SWT ne fonctionne pas?

Ceci est mon code:

import gnu.gcj.xlib.Display; 
import org.eclipse.swt.widgets.Shell; 


public class HelloWorldSWT { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     Display display = new Display(); 
     Shell shell = new Shell(display); 
     shell.setText("Hello world!"); 
     shell.open(); 
     while (!shell.isDisposed()) { 
     if (!display.readAndDispatch()) display.sleep(); 
     } 
     display.dispose(); 
    } 

} 

Et ceci est mes messages d'erreur:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The constructor Shell(Display) is undefined 
    The method readAndDispatch() is undefined for the type Display 
    The method sleep() is undefined for the type Display 
    The method dispose() is undefined for the type Display 

    at HelloWorldSWT.main(HelloWorldSWT.java:13) 

Est-ce que quelqu'un sait comment je peux vérifier ce qui est faux?

Répondre

8

Je pense que vous importez une classe Display incorrecte. Celui de droite devrait être

org.eclipse.swt.widgets.Display 
+1

Lorsque je remplace "import org.eclipse.swt.widgets.Shell;" par "org.eclipse.swt.widgets.Display", l'Eclipse m'écrit que j'ai quelques conflits. J'ai supprimé la première ligne de mon code (import gnu.gcj.xlib.Display;). Puis quand j'essaye d'exécuter mon programme j'ai toujours quelques messages d'erreur: Exception dans le fil "principal" java.lang.Error: Problèmes non résolus de compilation: \t Shell ne peut pas être résolu à un type \t Shell ne peut pas être résolu à un type à HelloWorldSWT.main (HelloWorldSWT.java:12) – Roman

+1

Vous devez laisser l'importation à 'org.eclipse.swt.widgets.Shell' et ajouter l'importation' org.eclipse.swt.widgets.Display'. –

0

Nettoyer soigneusement dans votre dossier, faites-le à nouveau, l'importation swt créer proj, vérifiez le chemin de compilation ajouter la classe, exécutez cela devrait fonctionner. Sinon, faites un clic droit, cliquez sur nettoyer, cliquez sur source ... organiser les importations, exécutez à nouveau. Si le travail, si l'erreur ne

swt.dll

dans votre bibliothèque, copiez tous

swt.dll

sur votre chemin de la bibliothèque. Devrait fonctionner maintenant.

+0

bon travail maintenant – alex

0

J'ai fait la même erreur. Mon problème était sur la deuxième étape: J'ai choisi d'importer "org.eclipse.swt". Au lieu de cela, vous devez sélectionner le bon pour votre système d'exploitation. Dans mon cas, c'était "org.eclipse.swt.win32.win32.x86". Une fois que vous avez fait cela, le reste des étapes du tutoriel devrait fonctionner comme prévu.

Les réponses ci-dessus, bien que correctes, peuvent supposer un peu plus de connaissances que la plupart des personnes ayant terminé ce tutoriel.

Questions connexes