IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Problème utilisation jcurses


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut Problème utilisation jcurses
    Bonjour,

    J'essai d'utiliser la librairie jcurses:

    http://sourceforge.net/projects/javacurses/

    Et lorsque j'essai d'exécuter le petit programme d'exemple il me met ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Exception in thread "main" java.lang.ExceptionInInitializerError
            at jcurses.system.InputChar.<clinit>(InputChar.java:13)
            at jcurses.widgets.Window.<clinit>(Window.java:209)
            at test.JCursesTest.main(JCursesTest.java:7)
    Caused by: java.lang.RuntimeException: couldn't find jcurses library
            at jcurses.system.Toolkit.getLibraryPath(Toolkit.java:121)
            at jcurses.system.Toolkit.<clinit>(Toolkit.java:37)
            ... 3 more
    Pourtant j'ai bien fait ce qu'il y a marquer, je ne comprend pas, il faut dire que leur doc n'est pas super bien faite pour celui qui débute avec

    Donc si quelqu'un aurait un tuto ou sait comment s'en servir je lui en serait reconnaissant de me dire comment cette librairie marche Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Montre la ligne 7 de la classe JCursesTest, qu'on voie ce dont il est question

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut
    Voici le main:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class JCursesTest {
    	
    	public static void main(String[] args) {
    		/*- Main window -*/
    		StartWindow startWindow = new StartWindow();
    		
    		try {
    			startWindow.show();
    			Thread.sleep(10000);
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		} finally {
    			startWindow.close();
    		}
    	}
     
    }
    La ligne 7 est surligné en bleu. Sinon voici les deux autres classes utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public class StartWindow extends Window implements ActionListener {
     
    	public StartWindow() {
    		super(Toolkit.getScreenWidth(), Toolkit.getScreenHeight(), true, "MyFirstApplication");
    		setShadow(false);
     
    		/*- Text label -*/
    		Label label = new Label("This application enables you to export or to validate exports\nbetween the three environments.");
     
    		/*- Buttons -*/
    		Button export = new Button("Export");
    		Button validate = new Button("Validate");
     
    		/*- Listeners -*/
    		export.addListener(this);
    		validate.addListener(this);
     
    		/*- Panels -*/
    		Panel rootPanel = getRootPanel();
    		BorderPanel buttonPanel = new BorderPanel(Toolkit.getScreenWidth(), 5);
     
    		/*- Styles -*/
    		I5Styles.styleObjects(new Object[] {this, buttonPanel, label, export, validate});
     
    		/*- Layout managers -*/
    		BorderLayoutManager rootLayoutManager = new BorderLayoutManager(); 
    		BorderLayoutManager buttonLayoutManager = new BorderLayoutManager();
    		rootPanel.setLayoutManager(rootLayoutManager);
    		buttonPanel.setLayoutManager(buttonLayoutManager);
     
    		/*- Packing -*/
    		rootLayoutManager.addWidget(label, BorderLayoutManager.CENTER, WidgetsConstants.ALIGNMENT_CENTER, WidgetsConstants.ALIGNMENT_CENTER);
    		buttonLayoutManager.addWidget(export, BorderLayoutManager.WEST, WidgetsConstants.ALIGNMENT_CENTER, WidgetsConstants.ALIGNMENT_CENTER);
    		buttonLayoutManager.addWidget(validate, BorderLayoutManager.EAST, WidgetsConstants.ALIGNMENT_CENTER, WidgetsConstants.ALIGNMENT_CENTER);
    		rootLayoutManager.addWidget(buttonPanel, BorderLayoutManager.SOUTH, WidgetsConstants.ALIGNMENT_BOTTOM, WidgetsConstants.ALIGNMENT_CENTER);
    	}
     
    	public void actionPerformed(ActionEvent event) {
    		if (event.getSource() instanceof Button) {
    			Button button = (Button) event.getSource();
    			if (button.getLabel().startsWith("Validate")) {
    				System.out.println("Validate");
    			} else {
    				System.out.println("Export");
    			}
    		}
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public final class I5Styles {
     
    	public static final CharColor normal = new CharColor(CharColor.BLACK, CharColor.GREEN);
    	public static final CharColor revert = new CharColor(CharColor.GREEN, CharColor.BLACK);
     
    	public static void styleObject(Object obj) {
    		if (obj instanceof Window) {
    			Window w = (Window)obj;
    			w.setTitleColors(normal);
    			w.setBorderColors(normal);
    			w.getRootPanel().setColors(normal);
    			w.getRootPanel().setPanelColors(normal);
    		} else if (obj instanceof BorderPanel) {
    			BorderPanel p = (BorderPanel)obj;
    			p.setColors(normal);
    			p.setPanelColors(normal);
    			p.setBorderColors(normal);
    		} else if (obj instanceof Button) {
    			Button b = (Button)obj;
    			b.setColors(normal);
    			b.setFocusedButtonColors(revert);
    		} else if (obj instanceof Label) {
    			Label l = (Label)obj;
    			l.setColors(normal);
    		} else if (obj instanceof TextArea) {
    			TextArea t = (TextArea)obj;
    			t.setColors(normal);
    			t.setBorderColors(normal);
    			t.setCursorColors(revert);
    			t.setScrollbarColors(revert);
    			t.setTextComponentColors(normal);
    		} else if (obj instanceof TextField) {
    			TextField t = (TextField)obj;
    			t.setColors(normal);
    			t.setDelimiterColors(normal);
    			t.setCursorColors(revert);
    			t.setTextComponentColors(normal);
    		}
    	}
     
    	public static void styleObjects(Object[] objs) {
    		for (int i = 0; i < objs.length; i++) {
    			styleObject(objs[i]);
    		}
    	}
     
    }
    Voila

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Désolé, je n'avais pas regardé très loin : l'erreur était déjà postée dès le premier message.

    couldn't find jcurses library
    Il suffit d'importer la bibliothèque native JCurses ; ce que tu n'as visiblement pas fait.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut
    Ben si parce que lorsque je fais mes imports dans eclipse il trouve bien les bytecodes .class puisqu'il me les proposes

    J'ai bien fais "clique-droit sur le projet -> propriété -> chemin de compilation Java -> onglet bibliothèque -> ajouter fichier jar externe"

    Je ne comprend vraiment pas

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Il y a deux bibliothèques à importer. Il y a d'une part jcurses.jar et d'autre part libjcurses.dll (pour windows) / libjcurses.so (pour linux). Tu n'as importé que la lib jar.

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo