Archive

Archives pour 02/2008

Inclure un browser HTML dans ses applications …

27/02/2008
Commentaires fermés

C’est possible avec Flying Saucer:

Flying Saucer & Mozilla Rhino

Flying Saucer is 100% Java XHTML+CSS renderer, including support for table pagination, margin boxes, running elements, named pages, and more. It is CSS 2.1 compliant (currently working on CSS 3 compliance), can be embedded into your Swing applications, and uses the open source LGPL license. This is a very impressive library! Equally impressive is Mozilla Rhino. Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. Imagine combining Flying Saucer, Applets/JavaFX Script support, Rhino, and the hugely improved « Consumer JRE »!

Java , ,

Astuce Eclipse

22/02/2008
Commentaires fermés

Quand Cyril s’ennui … il nous envoie des mails intéressant :

Allez, une petite astuce Eclipse avant de partir en weekend.

Lorsque vous faites CRTL+O pour ajouter automatiquement les imports, ya toujours les List, Set, Map, Iterator and co. qui n’en font qu’à leur tête et qui vous poppent une boite vous demandant de choisir entre 3 ou 4 differents packages (par exemple List existe dans java.utils et dans java.awt).
Eclipse propose un paramétrage pour virer certains packages des listes de packages proposés. Vous restera donc plus qu’un seul type List dispo, et importer des collections devient alors transparent.

Eclipse > Window > Preferences > Java > Apparence > Type Filters
ajouter les packages (Add Package) :

  • java.awt
  • com.sun.tools.javac.v8.util
  • org.hibernate.mapping
  • org.hsqldb.lib

Comme indiqué en haut de cette page de settings : tous les types (classes & interfaces) dans les packages listés n’apparaitront pas dans la boite Open Type (CTRL+SHIFT+T), les content assist (CTRL+SPACE) et les quickfix (CTRL+SHIFT+&) et cela inclus le « organize imports ».

Seul hic : la setting se fait au niveau WORKSPACE. on ne peut pas le limiter au projet et encore moins à une couche (si vous faites une application AWT et que vous pouvez pas cacher java.awt, ou si vous développez des modules hibernates et que vous pouvez pas cacher org.hib…mapping, ben tant pis pour vous :( ).

Cyril

Quelques raccourcis super utiles :

CTRL+1 (en fait faut taper CTRL+SHIFT+& car en azerty le 1 est sur le shift du &, et je crois me souvenir que ca ne marche pas avec le 1 du keypad)
lorsqu’une ligne est en erreur, ou en warning, on obtient la petite popup qu’on a normalement en cliquant sur l’icone erreur dans la vertical rule (marge gauche). C’est la boite qu’ils appellent QuickFix.
Notamment utile pour ajouter les cast manquant, changer un nom de méthode appelée, la signature de la méthode appelée, changer un void en return, etc.
Mais cette boite peut être appelée meme si ya pas d’erreur, et selon le contexte on a accès à plein de trucs sympas :
(en rouge où il faut placer le curseur avant d’appeler quickfix)
– renommer une variable, ou méthode dans le fichier (comme ALT+SHIFT+R mais que sur le fichier)

– séparer en deux lignes une déclaration de variable de son initialisation
String s = « ceci »;

– inverser le if et le else
if ( false ) {
// one
} else {
// two
}
ca donne if true two else one.

– inverser membres de conditions
if ( this || that) { => if (that || this) {

– inverser une variable booleenne
boolean notThere = i > 0 || that;
=>
boolean there = i <= 0 && !that; ca marche aussi sur les conditions de if / while / etc. - affecter un appel de méthode à une variable getConversionTable(); => ConversionTableVO conversionTable = getConversionTable();

– oter des parenthèses inutiles
if ( (i > 0) && (i <>
if ( i > 0 && …
yen a bien des dizaines. des fois c’est un peu « touchy » faut trouver où il faut mettre le curseur pour que ca apparaisse, mais c’est extrement efficace.

ATL+SHIFT+S :
Accès au menu « Source » qu’on a normalement sur le clic droit.
Notamment :
ATL+SHIFT+S, puis R, ca vous « Generate Getters & Setters ».
ATL+SHIFT+S, puis V, ca vous « Override/Implements Methods ».

ATL+SHIFT+T :
Accès au menu « Refactoring » :
Notamment :
ALT+SHIFT+T, P, ca vous « Introduce Parameter » (en sélectionnant une expression, vous faites en sorte d’ajouter un parametre qui remplace cette expression, et tous les appelant passe l’expression en parametre)

Regardez les raccourcis de ces deux menus, il y a des trucs qu’on utile très souvent :

ALT+SHIFT+I : INLINE. Sélectionnez une variable ou méthode, ca vous met la valeur de la variable, ou le code de la méthode à la place de là où vous avez sélectionné (ya une popup avec une option de remplacer toutes les occurences et supprimer les déclarations devenues inutiles)

ALT+SHIFT+L : EXTRACT LOCAL VARIABLE. Sélectionnez une expression, ca vous crée une variable du bon type initialisée avec l’expression. Ca regarde aussi tous les autres endroits de la méthode où l’expression est utilisée et ca remplace par la variable nouvellement créée.

ALT+SHIFT+M : EXTRACT METHOD. Sélectionnez une expression ou un bout de code, ca va créer une méthode contenant le sélectionner. Il va essayer de détecter les paramètre que le bout de code sélectionné devra recevoir, et le retour qu’on attend. Ca marche plutot très bien. Surtout si les bouts de code sont assez petits (une boucle, le contenu d’un if, le contenu d’une condition d’un if)

ALT+SHIFT+C : CHANGE METHOD SIGNATURE. Selectionner un appel de méthode ou sa déclaration, ca ouvre une boite de dialogue ou on peut réorgniser les paramétres, ajouter des parametres, etc. tous les codes appelant seront mis à jour. Si un paramètre est ajouté, on vous demande de passer la valeur par défaut, c’est la valeur que les appelants passeront (on peut mettre XXX si on veut provoquer des erreurs pour aller voir par soit même ce qu’il faut exactement mettre).

CTRL+SHIFT+G ou CTRL+ALT+H : Trouve partout où une méthode est référencée. Le premier c’est comme de faire clic droit > Références, le second c’est la Call Hierarchy.

Et sinon, plus classique mais ultra efficace :

CTRL+O : la outline en popup dans un fichier, tapez le nom d’un champ/méthode et ca restreint la vue, les wildcard sont autorisés.

CTRL+T : popup représentant la Type Hierarchy. A utiliser notamment sur un appel à une interface, si vous voulez aller dans l’implémentation de la méthode. Si vous faites CTRL+Clic, vous vous trouvez dans le fichier interface, et vous etes pas bien avancés. Avec CTRL+T, il va lister l’interface et toutes ses implentation, choisissez votre implementation, hop vous etes sur le code qui vous interesse.

CTRL+SHIFT+W : fermer tous les fichiers ouverts dans l’editeur. ( »ya trop de fichiers je sais plus ou j’en suis ! je ferme tout »).

CTRL+E : une popup listant tous les fichiers ouverts, on peut taper le nom d’un fichier, avec ou sans wildcard, ca restreint la liste. Très sympa quand on commence a avoir trop de trucs ouverts.

Y’en a probablement plein d’autres, mais c’est probablement ceux que j’utilise le plus.

Cyril

Java ,

Mise à jour de SyncMate V1.1 RC

18/02/2008
Commentaires fermés

Cette dernière version se voit agrémentée de certaines fonctionnalité (comme la possibilité d’accéder à l’internet via la connexion USB – fonctionnalité que je n’ai d’ailleurs pas eu le temps de tester).

Certaine des fonctionnalité les plus intéressante sont maintenant classées dans un mode expert rendu accessible qu’après avoir rentré une clef de licence. On trouve sur leurs blog une licence temporaire de ce mode … mais le logiciel n’est clairement pas destiné à être totalement gratuit ! 

Tous l’engouement que j’ai peu avoir sur un logiciel gratuit s’estompe petit à petit ! 

Juste pour information cette version ne gère encore que très approximativement la synchronisation de nos PDA français avec iCal.

J’attends donc avec impatience les Releases Candidates suivante !

Mac , ,