Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problèmes spécifiques à Mac OS X en java

2 réponses
Avatar
Thomas Baruchel
Bonjour,

la difficulté tient à ce que ce n'est pas moi qui teste les programmes sous
Mac OS X et que mon interlocuteur n'est pas toujours assez expérimenté pour
me décrire les problèmes de façon significative. Néanmoins, voici quelques
difficultés qui ressortent. Deux des trois problèmes ont déjà été postés
sur fr.comp.lang.java, sans réponse suffisante pour mes besoins.

a) il exécute mes JAR sans problème par un double-clic, mais il n'a
jamais
réussi à le faire par "java -jar test.jar" (ce qui pourtant fonctionne
tant sous Unix que sous Windows) ; cela déclenche une erreur, je ne
sais plus
laquelle. Cela vaut pour n'importe quel autre JAR téléchargé ça ou là.
Je précise que tout inexpérimenté qu'il soit, il se trouve pourtant
bien à
chaque fois dans le répertoire adéquat. Or j'aimerais ponctuellement
qu'il
puisse lancer un programme depuis la ligne de commande.

b) Le JFileFilter que j'écris semblent faire planter le programme alors
qu'ils fonctionnent
parfaitement sous Windows et Unix.
Voici un exemple de code :


import javax.swing.filechooser.*;
import java.io.File;

public final class FilterRTF extends FileFilter {
public boolean accept(File f) {
if(f.isDirectory()) return(true);
else {
String s = f.getName();
if(s.length()<4) return(false);
if(s.substring(s.length()-4).toLowerCase().equals(".rtf"))
return(true);
else return(false);
}
}
public String getDescription() {
return("Rich Text Format (RTF)");
}
}


Précisons que d'autres programmes, tel que JEXT, plantent quand il cherche
un fichier
avec un filtre de ce genre.
En réalité le problème se rencontre quand "l'explorateur" parvient avec
ledit filtre
dans certains répertoires, ce qui fait qu'en pratique il peut naviguer sur
deux ou trois
répertoires avant de retomber sur un problème de ce genre.

c) j'appelle le correcteur orthographique JAZZY avec les lignes
suivantes : le programme
semble ne pas vraiment planter, mais rien ne se passe (alors que sous
Windows ou Unix,
cela marche parfaitement). Le code est partiellement repris du code
source de JAXE,
mais mon interlocuteur n'a pas eu l'occasion de voir si cela marchait
avec JAXE.

private boolean checkOrthographe(myTextEditor text) {
boolean result = false;
String dico = "dicos/francais.dico";
String phon = "dicos/francais.phon";
SpellDictionary dictionary;
String encoding = "ISO-8859-1"; // for dictionary and phonetic file
// user dictionary is using the default text encoding
try {
// build main dictionary
File phonFile = new File(phon);
if (phonFile.exists())
dictionary = new SpellDictionaryDichoDisk(
new File(dico), phonFile, encoding);
else
dictionary = new SpellDictionaryDichoDisk(new File(dico));
JTextComponentSpellChecker sc =
new JTextComponentSpellChecker(dictionary);

// Locate the personal dictionary, create if necessary
String filename = "dicos/personnel";
File persoFile = new File(filename);
if (!persoFile.exists()) persoFile.createNewFile();

// set it
SpellDictionary persoDict = new SpellDictionaryHashMap(
persoFile, phonFile, encoding);
sc.setUserDictionary(persoDict);

// start checking
int status = sc.spellCheck(text);
if (status == SpellChecker.SPELLCHECK_OK) result = true;
} catch (Exception ex) {
System.err.println(ex.getClass().getName() + ": " + ex.getMessage());
}
return(result);
}

En outre, je note de nombreux dysfonctionnements (je n'ai que des
problèmes dès que
j'essaie d'utiliser des LookAndFeel non natifs, ex: Metouia, qui
apparemment n'affichent
rien sauf à la rigueur provisoirement quand la souris glisse au-dessus
d'un composant).
Pourquoi tant de différences ?

Cordialement,

--
Thomas Baruchel
To contact me, please, see at: http://cerbermail.com/?OEyHGNQFEa
Home Page: http://tbaruchel.free.fr/

2 réponses

Avatar
Patrick Stadelmann
In article ,
Thomas Baruchel wrote:

a) il exécute mes JAR sans problème par un double-clic, mais il n'a
jamais
réussi à le faire par "java -jar test.jar" (ce qui pourtant fonctionne
tant sous Unix que sous Windows) ; cela déclenche une erreur, je ne
sais plus
laquelle. Cela vaut pour n'importe quel autre JAR téléchargé ça ou là.


Je n'ai pas ce problème ici. Es-tu certain que sa machine soit à jour ?

Je précise que tout inexpérimenté qu'il soit, il se trouve pourtant
bien à
chaque fois dans le répertoire adéquat. Or j'aimerais ponctuellement
qu'il
puisse lancer un programme depuis la ligne de commande.


"open test.jar" devrait permettre de contourner le problème.

Patrick
--
Patrick Stadelmann

Avatar
laurent.pertois
Thomas Baruchel wrote:

Pourquoi tant de différences ?


Il serait intéressant de nous donner la version de Mac OS X utilisée et
la version de Java installée.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.