jeudi 10 décembre 2009

Marseille JUG : REST

Ce soir, Stéphane Epardaud nous a présenté un protocole de web service RESTFull et son implémentation RESTEasy.Cette intervention m'a permis de découvrir l'architecture REST et son implémentation.J'ai beaucoup aimé cette intervention car elle était vivante (beaucoup de démo) et enrichissante (je ne connaissais pas).Il faut souligner la qualité des interventions du JUG Marseille ! Je vous encourage à venir nombreux !
A noter : En janvier, il devrait y avoir une intervention sur Groovy et en Février sur les outils Google ....

Voici un résumé rapide sur REST :


Tout d'abord voici la définition de REST :

REST = C'est le modèle qui décrit des fonctionnalités du web.(Comment fonctionne l'interaction entre les proxy, gateway, serveurs, client ? Quel est le protocole utilisé ?)



Voici les avantages de RESTful :



- Utilisation du protocole HTTP :
Au travers d'url, on peut appelé des méthodes.Cela rend les test plus faciles et en plus on bénéficie des avantages du protocole HTTP (produire un résultat en fonction de ce qui est donné JSON,XML...).


- Stateless :
Chaque transaction est traité de manière indépendante.On n'est pas lié au client.


- Interface simple :


"L’interface entre les composants est simple et uniforme. En HTTP, cette interface est implantée par les
verbs GET, PUT, POST, DELETE, ... qui permettent aux composants de manipuler les ressources de manière simple et "intuitive". Lorsqu’un client web récupère un URI, il sait qu’il peut récupérer une représentation de cette ressource en déréférençant l’URI avec la méthode GET."

Inconveignent de RESTFul :


Le fait d'utiliser des URLs complexes pour appeler des méthodes.Il faut donc connaître des URLs spécifiques pour accéder aux méthodes des web services.



Quelques liens :
Comparaison_SOAP_REST
wikipedia_REST

vendredi 4 décembre 2009

GWT [ERROR] No source code is available for ...GWTTestCase

Problème :


Vous rencontrez l'erreur suivante :
[ERROR] Line 11: No source code is available for type com.google.gwt.junit.client.GWTTestCase;
did you forget to inherit a required module?



Solution
:

Dans le fichier de module (*.gwt.xml), il suffit d'ajouter :

"< name="com.google.gwt.junit.JUnit">"

vendredi 27 novembre 2009

Eclipse GWT_EXTERNAL_BROWSER

Problème :


Lorsque l'on compile en mode "hosted", on a l'erreur suivante :
[ERROR] Unable to find a default external web browser

[WARN] Try setting the environment variable GWT_EXTERNAL_BROWSER to your web browser executable before launching the GWT shell



Solution :



Dans Eclipse, il suffit de faire Run -> Run Configurations.Ensuite, on choisit le projet google et on
va à l'onglet Environement.Ensuite, on ajoute notre variable et on l'initialise à
GWT_EXTERNAL_BROWSER avec la valeur firefox.





mardi 24 novembre 2009

Java 7 Closures news

Depuis l'annonce de l'arrivée des closures, c'est l'effervescence !
Il y a beaucoup de propositions et pas encore de résultats.
Voici un lien qui résume les différentes propositions : Résumé des propositions sur les closures

vendredi 20 novembre 2009

GWT Ressources statiques (fichier css, js...) et Répertoire public


Problème


Je commence l'apprentissage de GWT et le premier problème que j'ai rencontré concerne les ressources statiques.Où faut-il les mettre ? Où mettre les css,js ... ? Sur le web, j'ai touvé qu'il fallait les mettre dans le répertoire public. Où mettre le répertoire public ?


Solution


Il faut créer un répertoire qui se nomme public au même niveau que le fichier *.gwt.xml.
Dans mon exemple, c'est dans src/com/google/gwt/sample/stockwatcher que l'on crée le répertoire public (cf image ci-dessous).

Ensuite à l'exécution il sera automatiquement copié dans le war.Il suffira alors de modifier le fichier html pour lui indiquer où sont les ressources :


"<"link type="text/css" href="stockwatcher/css/start/jquery-ui-1.7.2.custom.css rel="Stylesheet"">"
"<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-1.3.2.min.js""/" "<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-ui-1.7.2.custom.min.js""/>"

Voici un exemple concret (cliquez pour agrandir) :



Google sort son système d'exploitation Chrome OS

Voici une nouvelle toute fraîche : Google vient de sortir en béta son système d'exploitation.
Cette OS est entièrement basé sur Internet et donc sur le navigateur Chrome.


- Chaque application est une application web.

- Démarrage instantanée de l'OS.

- Sécurité : Les données présentes sur le disque seront cryptées.


Le code source est disponible et des instructions permettent de le builder.Il ne reste plus qu'à l'étudier.A noter, c'est un projet open source !

Plus infos sur :
Article Developpez.com
Youtube
Chrome Project

jeudi 19 novembre 2009

Java 7 : les closures seront dans le jdk7 !

Une nouvelle surprenante est tombée à la conférence devoxx. (Alors que quelques temps auparavant, il avait été dit qu'elles n'y seraient pas ...). Les closures seront donc dans le jdk7.
Reste à savoir qu'elle sera la syntaxe de celle-ci.
Plusieurs prototypes existe ( liste ).Apparemment, c'est la proposition de Neal Gafter qui semble avoir le plus de chances ( Proposition de Neal Gafter).

vendredi 13 novembre 2009

Go : Google sort son langage de programmation système.

Google a annoncé la sortie d'un nouveau langage de programmation Système : GO sur son blog.
L'objectif est de moderniser les langages de programmation système qui existe depuis longtemps (le langage c par exemple) en simplifiant la gestion de dépendances des librairies, en gérant nativement le multithread, en utilisant un garbage collector, en utilisant une syntaxe plus facile.
Dans la FAQ, Google dit utilisait ce langage en interne mais pas encore en production.
Google sort beaucoup de nouveautés (langage Noop, Go) avant l'arrivée de son OS.Il faut surveiller tout cela !

Annonce Google
Site web Langage Go

MAVEN : Avantages et inconveignents!

Hier, j'ai assisté au Marseille JUG sur le sujet "A propos de Maven" fait pat Arnaud Héritier.Je ne connaissais pas Maven.J'ai juste fait quelques tutoriaux.

Voici un résumé des avantages et inconveignents de Maven :



Avantages:


- Gestion des versions des librairies :
C'est un des grands avantages par rapport à Ant.Avant il y avait un répertoire lib qui contenait toutes les librairies et on ne savait
plus trop si on les utilisaient ou pas.Avec Maven, à chaque version, on sait quel jar est utilisé.Il faut noter que peut ajoute Ivy à ant pour gérer les dépendances.
- Conventions Maven

- Il existe des plugins sur les plateformes : eclipse, netbeans, intellij idea



Inconveignent:


- Utilisation de repositories pas forcement clean.

Il est possible de définir un ou plusieurs repositories externes pour gérer les dépendances.

Cependant, si la gestion d'une des librairies est mal faite, cela conduit à des erreurs ou à des différences dans les jars
du même projet.

- Conventions Maven
- Apprentissage et mise en place Maven par rapport à Ant.

- Pas d'integration native pour eclipse.Existence plugin m2 pr eclispe

- http://blog.codeeg.com/2008/06/28/25-things-i-hate-about-maven/


En conclusion, Maven est devenu l'outil de build incontournable.
Il est de plus en plus utilisé dans le monde de l'entreprise.En effet, il permet de définir un projet avec des conventions.
Il est plus long à apprendre et à mettre en place.Il a donc un coût à court terme contrairement à ant.
Par contre sur le long terme le coût diminue.En effet, sur un projet utilisant ant, on devait comprendre le build.xml et c'était parfois très compliqué.

A noter :
Arnaud Héritier fait parti du comité de direction (PMC). Il est régulièrement speaker dans des conférences ou JUGs, et est le co-auteur du livre Apache Maven qui sortira dans quelques jours.



mardi 10 novembre 2009

Test Google Web Toolkit

Je réalise actuellement un site pour mon association de quartier.Pour connaître un peu mieux ce que l'on peut faire avec GWT, j'ai décider de faire le site avec cette techno.
Premier constat, il y a tout ce qu'il faut :
- Une bonne documentation.
La documentation est en anglais mais elle est bien faite et je n'ai pas vu d'erreur dans ce que j'ai lu (je n'ai pas encore tout lu) GettingStarted.

- Un plugin eclipse
- Une possiblité d'héberger son application web chez Google gratuitement.
- Autre point important, on code en Java !

Il faut noter aussi qu'un livre en français va sortir sur GWT :



dimanche 8 novembre 2009

Exercice certification SCJP : String

Voici une question qui revient fréquemment sur String


Exercice :

public class test {

public static void main(String args) {
String s = "toto";
System.out.println("Size of s:" + s.length);
}
}


What is the result ? (choose one)

A Size of s:4
B Size of s:3
C Compilation fails
D An exception is thrown at runtime














Solution :
La réponse est C car il n'existe pas d'attribut length por String mais c'est la méthode length() qui existe.C'est une question piège, il est très facile de se faire avoir !

lundi 2 novembre 2009

Marseille JUG : 12 novembre autour de Maven

Bonjour,

Ce n'est pas encore annoncé sur le site http://www.marsjug.org, mais la prochaine réunion du JUG
aura lieu le jeudi 12 novembre sur le sujet : "autour de Maven."
C'est Arnaud Héritier qui viendra de parler de Maven et de son utilisation.
Arnaud est commiteur Maven et a aussi coécrit un livre sur le sujet (http://www.amazon.fr/Apache-Maven-Nicolas-loof/dp/274402337X) qui sortira bientot.

mardi 27 octobre 2009

Netbeans 6.8 beta disponible

La release final de cette version est prévue pour le mos de décembre.
Si vous voulez plus de détails sur cette version, allez voir le lien suivant :
Netbeans 6.8 beta

vendredi 23 octobre 2009

Exercice certification SCJP

Voici un petit exercice pour s'entrainer.

Given the following :

public class Test {

public int myTest = 2;
private String str;
public static void main(String [] args) {

for(int i=1;i<12;i++){
int myValue = 2;
System.out.println("great test !");
if (i== 5) {
myValue++;
System.out.println("myValue=" + myValue);
}
}
myValue++;
System.out.println("myValue=" + myValue);
}
}

What is the result ? (choose one)


A myValue=3 myValue=4

B myValue=3 myValue=3

C Compilation fails

D An exception is thrown at runtime




Solution

La solution est C car la variable myValue
C because the variabme myValue exist only in the for.

vendredi 16 octobre 2009

Exercice certification SCJP : Membre privé, public et protected

Exercice :

public class Test {

public int myTest = 2;
private String str;
public static void main(String [] args) {
System.out.println("myTest=" + myTest);

}

}

What is the result ? (choose Two)

A myTest=2
B myTest=0
C Compilation fails
D An exception is thrown at runtime







Solution

C . La compilation va échouer car nous sommes dans la méthode Main() et nous n'avons pas instancier d'objet Test.
Pour que cela fonctionne, il aurait fallu faire :
Test monTest = new Test();
System.out.println("monTest=" + monTest.myTest);

mercredi 14 octobre 2009

Le clavier et la souris réinventés ! 10/GUI

Voici une petite news sympa !
Il s'agit de remplacer le clavier et la souris actuelle par un écran tactile.
Sauf que cet écran serait à la place du clavier...
Une vidéo est disponible sur developpez.com : 10/GUI
Le site : 10GUI

samedi 10 octobre 2009

Exercice certification SCJP : Nommage des variables

Exercise 1 :

Given the following :

public class Test {
public static void main(String [] args) {
int $test = 10;
System.out.println("$test=" + $test);

}

}

What is the result ? (choose One)

A $test=10
B $test=null
C Compilation fails
D An exception is thrown at runtime


Exercice 2

Given the following :

public class Test {
public static void main(String [] args) {
int $2test = 10;
System.out.println("$2test=" + $2test);

}

}

What is the result ? (choose One)

A $2test=10
B $test=null
C Compilation fails
D An exception is thrown at runtime














Solution Exercice 1 :

A.Une variable peut commencer par un $ ou un _ .

Solution Exercice 2 :

A Une variable ne peut pas avoir de nom commencant par un chiffre mais peut contenir un chiffre.

mercredi 7 octobre 2009

Exercice certification JAVA SCJP

Bonjour à tous,

Je mettrai en ligne d'autres exercices de certification Java d'ici samedi et puis toutes les semaines. N'hésitez-pas à faire des commentaires sur ces exercices !

vendredi 2 octobre 2009

JUG Marseille

Le premier Java User Group à Marseille a lieu le 15 octobre !
Inscrivez-vous !

JUG Marseille

mercredi 30 septembre 2009

Creer un site pour votre projet Maven sous Netbeans 6.7

Problème :

En lisant l'article de Batiste Witch : article,
j'ai rencontré une petite difficulté sous Netbeans.Comment avoir la commande mvn site dans l'interface de Netbeans ?

Solution :


Si voulez créer le site web de votre projet sous Netbeans, il y a une petite astuce.

En effet, lorsque vous créez un projet maven sous Netbeans, le répertoire Project Site n'est pas visible.

Pour le rendre visible, il suffit de créer un répertoire nommé "site" dans le répertoire src et de faire
run-> Clean and Build Main Project .

Vous pourrez alors faire un clic droit->generate site sur Project Site dans vue Projet Java.
J'ai trouvé cet astuce sur le blog suivant :
mrhaki.blogspot.com

Remarque : Pour ce qui cherche un bon tutorial sur Maven2 : tutorial

lundi 28 septembre 2009

Netbeans : Créer son racourcis clavier

Problème :

Vous connaissez des raccourcis Eclipse mais il n'en existe pas dans Netbeans.
Remarque : La liste de tous les raccourcis est disponible dans le menu Help -> Keyboard Shortcuts Card.

Solution : Créer sa propre macro avec Netbeans.

Tout comme Excel, vous pouvez enregistrer et éditer votre propre macro.
Voici comment faire :

Supposons que vous voulez effacer une ligne en faisant CTRL + D
1) Démarrer l'enregistrement : Allez dans Edit -> Start recording
2) Sélectionnez une ligne en cliquant plusieurs fois puis supprimez cette ligne.
3) Arrêter l'enregistrement : Allez dans Edit -> Stop recording

La boîte de dialogue suivante apparaît :


Entrez le nom de la macro (ex:delete-line) puis OK.
Vous arrivez sur une fenêtre similaire à celle-ci :



Vous n'avez plus qu'à cliquer sur le bouton "Set shortcut" pour affecter votre macro à un raccourci clavier.

jeudi 24 septembre 2009

JAVA Certification SCJP : les opérateurs

Voici un petit exercice sur les opérateurs.

Exercice :

class Arg {

public static void main(String[] args){

int i = 6;

if ( i && 12 ){

System.out.println("OK!");

} else {

System.out.println("KO!");

}

}

}

What is the result ?

A : OK!

B : KO!

C : compilation fails

D : An exception is thrown at runtime





Solution :

La compilation va échouer du fait de i && 12. En effet, les opérateurs && et || fonctionnent
seulement avec des booléens.

mardi 22 septembre 2009

Nouvelle version d'Eclipse : Eclipse 3.6 Helios M2

La nouvelle version d'Eclipse est disponible. Il y a plusieurs améliorations
tel que l'ajout dans le menu de "
New Open Implementation command" et de nouvelles manières d'extraction de méthode.

Plus de détails sur le site d'Eclipse :

eclipse-news-M1

eclipse-news-M2

lundi 21 septembre 2009

Noop : un langage de programmation fait par Google prévu pour être intégré à la JVM de Sun

Google a crée un nouveau langage (Noop) qui est prévu pour être intégré à la JVM au même titre que JRuby, Groovy .... Cela fut annoncé à la conférence JVM Language Summit. Ce nouveau langage est pensé pour pouvoir le tester plus facilement (exemple : tester avec de l'injection de dépendance est difficile).


Voici les points que Google veut intégrer à ce langage :


- Injection de dépendance intégrée au langage.

- Meilleur testabilité.
- Un code plus lisible.
....


Et ce que Google ne veut pas :


- Plus d'utilisation de code statique

...


Cela semble prometteur !


Plus d'informations sur :
JVM langage summit

Article javaworld

Noop home page

samedi 19 septembre 2009

Exercice Certification SCJP : les bases : les mots clés

Les mots clés reviennent souvent à l'examen. Celui-ci va essayer de vous induire en erreur avec par exemple des mots clés provenant du C++. Il y a aussi d'autres pièges plus vicieux.

Ces exercices vont vous familiariser avec les pièges les plus fréquents :

Exercise 1 :

Given the following :

public class Test {

public static void main(String [] args) {

System.out.println("Zest!");

}


public void assert {

System.out.println("Helllo");

}

}


What is the result ? (choose one)


A Zest!

B Helllo

C Compilation fails

D An exception is thrown at runtime



Exercice 2 :

Given the following :


public class Test {

public static void main(String [] args) {

System.out.println("Zest!");

int true = 1;

System.out.println("true : " + true);

}

}

What is the result ? (choose one)


A Zest!

B Zest true: 1

C Compilation fails

D An exception is thrown at runtime


Exercice 3 :


public class Test {
public static void main(String [] args) {

System.out.println("Zest!");

transient int value = 10;

System.out.println("true : " + true);

}

}

What is the result ? (choose one)


A Zest!

B Zest true: 1

C Compilation fails

D An exception is thrown at runtime


Solution :

Exercice 1 :

La compilation va échouer car assert est un mot clé réservé. Attention, les questions de ce genre reviennent souvent !

The compilation will fail because a method can't have the name of a keyword.
Be carreful at this sort of question. It's often in test and very easy to miss it

Exercice 2 :

La compilation va échouer car on ne peut pas nommer une variable avec le nom d'un mot clé.

Exercice 3 :

La compilation va échouer. Le mot clé transient est lié à la sérialisation des classe java.
Il s'utilise comme ceci :
// la classe que nous allons sérialiser
class Writeable implements java.io.Serializable {
// entier transient
public transient int var1 = 4;
// entier normal
public int var2 = 19;
}

lundi 14 septembre 2009

Exercice Certification SCJP : les bases Main

Vous devez connaître par coeur la signature de la méthode main.
Le test va essayer de vous induire en erreur. Si vous cherchez des livres et
exercices, allez voir cette page : Certification Sun SCJP

Voici une série d'exercices possibles (Les solutions sont à la fin) :


Exercice 1 :

Given the following :

public class Test {
public static void main(String args) {
System.out.println("Helllo");
}

}

What is the result ? (choose one)


A Helllo
B Hell
C Compilation fails
D An exception is thrown at runtime




Exercice 2 :

Given the following :


public class Test {

public static void main(String [] arg) {

System.out.println("Helllo");

}

}


What is the result ? (choose one)


A Helllo

B Hel

C Compilation fails

D An exception is thrown at runtime


Exercice 3 :

Given the following :

public class Test {
public void main(String [] argS) {
System.out.println("Helllo");
}
}

What is the result ? (choose one)

A Helllo
B Hel
C Compilation fails
D An exception is thrown at runtime


Exercice 4 :

Given the following :

public class Test {
public static void main(String [] test) {
System.out.println(test[0]);
}
}

and the command line evocation is
java Test X 1 t
What is the result ? (choose one)

A Test
B X
C 1
D t
C Compilation fails
D An exception is thrown at runtime


Correction Exercice 1 :

Pour que la méthode main soit valide, il manque les [] : public static void main(String [] args) {
Dans notre cas, il n'y a pas d'erreur de compilation car pour le compilateur c'est la signature d'une méthode.
Par contre, à l'éxecution, il y aura une exception lancée car la classe Test ne contiendra pas de méthode main.
La réponse correcte est donc la D.

Exception in thread "main" java.lang.NoClassDefFoundError: Test (wrong name: packet/Test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Test. Program will exit.

Correction Exercice 2 :

Il va s'afficher Helllo. En effet, le nom de l'argument de la méthode main peut être changé sans aucun problème.

Correction Exercice 3 :

La réponse correcte est la D car le compilateur cherche la signature de la méthode main et ne la trouve pas : public static void main(String [] args) {

Correction Exercice 4 :

La bonne solution est X.

jeudi 3 septembre 2009

Google pour les recherches java

En parcourant les pages du site developpez.com, je suis tombé sur un lien très intéressant :
un google spécialisé dans la recherche JAVA. A voir absolument !
http://www.google.com/coop/cse?cx=010869936631665745446:fpauvrqtgg0

Si vous cherchez d'autres liens, voici ma liste de sites préférés : http://totalprog.blogspot.com/2009/08/les-meilleurs-sites-java.html

samedi 29 août 2009

Certification Sun JAVA SCJCP : Ce qu'il vous faut pour réussir !

J'ai réussi ma certification SCJP et j'ai quelques conseils pour ceux qui voudraient la passer.

Je pense que le moyen le plus facile est d'avoir un bon livre et un bon outil pour s'entrainer.
Comme livre, je vous recommande : SCJP Sun certified programmer for JAVA 6 310-065 (Katherine Sierra, Bert Bates). Ce livre vous donnera plein de conseils, d'astuces et de pièges à éviter !

Ce qu'il vous faut aussi, c'est de quoi pratiquer. Pour cela il existe certains logiciels. Pour ma part,
j'ai utilisé celui de www.whizlabs.com/scjp.../scjp.html.

Certes, ce sont des solutions payantes mais elles vous permettront d'atteindre plus facilement et plus rapidement votre objectif.

Remarque : Il est intéressant aussi de s'informer sur les news du monde JAVA. (On apprend toujours quelque chose). Allez-voir mes sites préférées : http://totalprog.blogspot.com/2009/08/les-meilleurs-sites-java.html

lundi 17 août 2009

Netbeans 6.8 milestone 1

Netbeans 6.8 milestone 1 est disponible.
Les principales nouveautés sont les suivantes :

-. Moteur de rendu interne ou externe
- XULRunner
- JSF
- Maven
-Autres

Si vous cherchez un résumé des features, vous pouvez regarder sur developpez.com :

http://x-plode.developpez.com/articles/netbeans6.8/

dimanche 16 août 2009

Les meilleurs sites JAVA

Voici ma liste préférée des meilleurs sites java :

http://java.developpez.com/ : C'est à mon avis le meilleur des sites francophones !
Il y a un forum très réactif, des FAQ, des tutoriels, des news. Enfin, tout ce qu'il faut !

http://www.infoq.com/ : Ce site présente des articles et vidéos de personnalités reconnues
du monde de la programmation. Très intéressant et des sujets pointus.

http://www.javaworld.com/ : Beaucoup d'articles complets sur un sujet précis.
http://www.jboss.org/webinars


Newsletter :
http://thecodersbreakfast.net/index.php

Si vous en avez d'autres, n'hésitez pas à les partager ! Je mettrai cette liste à jour.
Je pense que les sites ci-dessus sont amplement suffisants pour se tenir informé et progresser
en java.

jeudi 13 août 2009

Nouveau moteur de recherche google : cafeine

Google a annoncé sa nouvelle version de son moteur de recherche.
Pour l'instant, elle est en béta et n'est pas toujours accessible.
J'ai fait quelques comparaisons de requête et c'est plus rapide !

http://googlewebmastercentral.blogspot.com/2009/08/help-test-some-next-generation.html

dimanche 9 août 2009

Netbeans : cannot set LC_CTYPE locale

Problème :

En configurant subversion pour netbeans, j'ai eu le problème suivant :



Solution :


Le problème vient du fait que LC_CTYPE n'a pas été reconnu.
Il faut s'assurer que la valeur est bien écrite.
Pour cela : locale -a

Exemple :
$ locale -a
C

POSIX
fr_FR fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR@euro


Ensuite, il suffit de vérifier dans la conf, la valeur inscrite :
Sous gentoo : vi /etc/env.d/02locale

Exemple :
vi /etc/env.d/02locale

LANG="fr_FR.iso885915@euro"
LC_COLLATE="C"

=> Vous devez avoir une variable LANG initialisée avec une des valeurs affichées
par la commande : locale -a

Vous pouvez également laisser à chaque utilisateur linux le soin de configurer
ses variables :

vi ~/.bashrc

Exemple :
vi ~/.bashrc
export LANG="fr_FR.iso885915@euro"
export LC_ALL=C





samedi 8 août 2009

Netbeans : Cannot execute ... Check external browser configuration.

Problème :

Si vous avez l'erreur suivante lorsque vous cliquez sur view -> Web browser :



Solution :

La solution consiste à modifier les arguments passés pour executer firefox.
Pour cela, il suffit d'aller dans Tools -> Options :

Puis cliquez sur Edit.Vous arrivez alors ici :

Il faut alors modifier les arguments :

Dans mon cas (firefox 3.0.11), il suffit de mettre {url} comme ceci :


Vous pouvez trouver plus d'informations sur le sujet directement sur le blog de Sun :
http://blogs.sun.com/NetBeansSupport/entry/firefox_and_netbeans

vendredi 7 août 2009

Overriding paint dans Netbeans.

Pour mon premier message, une petite astuce concernant l'utilisation de netbeans.

Problème :

Si vous voulez effectuer un override de la méthode paint dans une classe de l'IHM,
vous ne pourrez pas !
En utilisant l'éditeur (new JFrame form), vous obtiendrez une classe similaire à cela :
*/
public class PacketMakerView extends FrameView {
Lien
public PacketMakerView(SingleFrameApplication app) {
Et il vous sera impossible d'overrider la méthode paint.

Solution:
Dans l'interface “Design”, faire un clic droit sur le composant puis choisissez customize code. L'astuce consiste à changer l'initialisation avec “custom creation”


Vous pouvez ainsi faire un override de la méthode paint et appeler les méthodes que vous voulez :
test = new javax.swing.JLabel()
{
public void paint(Graphics g) {
super.paint(g);
// ...
}
}