Vous êtes sur la page 1sur 16

Utilisation NetBeans

BTS iris - Lyce Eiffel - Armentires Page 1 sur 16 27/11/2006



Utilisation de NetBeans pour les applications J2ME


Sommaire

1. Introduction......................................................................................................................................................2
2. Prsentation de lEDI NetBeans......................................................................................................................2
3. Cration dune application en utilisant lditeur graphique..............................................................................3
3.1. Cration dune application MIDP : mode Lazy Initialized ......................................................................3
3.2. Adapter le code source. ..............................................................................................................................5
3.3. Compilation et excution du projet..............................................................................................................6
3.4. Dsactivation du mode Lazy Initialized..................................................................................................9
4. Cration dune application MIDP en utilisant lditeur de code source. ........................................................12
4.1. Cration du projet......................................................................................................................................12
4.2. Cration du MIDlet ....................................................................................................................................12
5. Affichage de laide : javadocs........................................................................................................................15
6. Utilisation des tutoriaux..................................................................................................................................15
7. Dbogage......................................................................................................................................................15

Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 2 sur 16 27/11/2006

1. Introduction
Ce tutorial vous montrera les deux manires de crer un projet J ava ME Midlet appel pjtMidletBonjour qui
affichera le texte Bonjour dArmentires sur le simulateur.

2. Prsentation de lEDI NetBeans
Pr requis : Installation de NetBeans IDE 5.5 et de NetBeans Mobility Pack 5.5.



















Le choix du projet actif (pour lexcution, le dbogage, ) seffectue avec un clic droit sur le projet >Set
Main Project. Le nom du projet saffiche alors en caractre gras.
Projects :
- Choix du projet actif
- Visualisation des
lments J ava du projet
Properties :
Visualisation et modification
des proprits du composant
graphique
Styles daffichage :
- Source : codage J ava
- Screen Design : conception dun seul cran
de lIHM en utilisant la palette de composants
- Flow Design : conception de lenchanement
des crans de lIHM en utilisant la palette de
composants
Palette :
Composants
graphiques
disponibles
Inspector :
Visualisation de
lorganisation des
composants graphiques
Output :
Affichage des messages de
construction du projet et des
sorties console
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 3 sur 16 27/11/2006

Le Flow Design ne doit servir qu implmenter les diffrents crans avec les flches visualisant les
passages de lun lautre (grce aux commandes associes).
Le Screen Design permet de dfinir plus prcisment les proprits des composants dposs dans la / les
fentre(s).
Laffichage Source permet dintroduire votre propre code source en sachant que celui en surbrillance bleue
nest pas modifiable.

3. Cration dune application en utilisant lditeur graphique
NetBeans IDE vous propose un expert qui vous permet de crer rapidement un projet MIDP. Quand vous crez le
projet, vous devez choisir de dvelopper une application en utilisant lditeur graphique (Visual Mobil Designer) ou
lditeur de code source (Source Code Editor).

Lditeur graphique vous permet de dessiner les flots et les crans utiliss par votre application. Le code source de
votre application est cr automatiquement.

3.1. Cration dune application MIDP : mode Lazy Initialized
Choisissez File >New Project (Ctrl-Shift-N).



Dans la liste box, choisissez Mobile et Mobile Application, puis Next


Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 4 sur 16 27/11/2006



Entrez le nom du projet pjMidletBonjour et choisissez votre rpertoire de sauvegarde.
Validez les deux coches Set as Main Project et Create Hello Midlet


Gardez les slections dmulateur par dfaut ainsi que la Configuration CLDC 1.1 et le Profile MIDP 2.0.
Choisissez Finish pour clore la cration du projet.
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 5 sur 16 27/11/2006


Vrifiez les rpertoires et les fichiers crs :



Voici une capture dcran de NetBeans aprs la cration de votre projet



3.2. Adapter le code source.
Nous allons diter le code source cr pour le MIDlet.
Ouvrez le Screen Design
Affichez lcran helloForm[Form]
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 6 sur 16 27/11/2006

Cliquez sur le composant StringItem (ce composant permet dafficher du texte dans une Form). Modifiez sa
proprit Text (Hello world !) par Bonjour dArmentires . Modifiez galement sa proprit Label (Hello) par
LblBonjour .



3.3. Compilation et excution du projet
Choisissez Run >Run Main Project (F6) ou cliquez sur licne :


Agrandissez la fentre Output pour afficher correctement les messages de construction de votre projet. Un
mulateur est lanc pour afficher le rsultat de votre application. Le simulateur est DefaultColorPhone .
Dans la fentre de lmulateur, vous pouvez excuter la commande Launch et Exit de la mme manire que
sur votre portable.

StringItem
Ce composant est
compos dun label
et dun texte
Form
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 7 sur 16 27/11/2006



Appuyez sur Exit pour fermer le MIDlet. Puis cliquez sur le bouton de fermeture de la fentre du simulateur.

Voici larborescence des fichiers crs





Voici le code source gnr par NetBeans :
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 8 sur 16 27/11/2006




























































/ *
* Hel l oMi dl et . j ava
*
* Cr eat ed on 18 oct obr e 2006, 15: 30
*/

package hel l o;

i mpor t j avax. mi cr oedi t i on. mi dl et . *;
i mpor t j avax. mi cr oedi t i on. l cdui . *;

/ **
*
* @aut hor f r eder i c
*/
publ i c cl ass Hel l oMi dl et ext ends MI Dl et i mpl ement s CommandLi st ener {

/ ** Cr eat es a new i nst ance of Hel l oMi dl et */
publ i c Hel l oMi dl et ( ) {
}

pr i vat e For mhel l oFor m;
pr i vat e St r i ngI t emhel l oSt r i ngI t em;
pr i vat e Command exi t Command;



/ ** Thi s met hod i ni t i al i zes UI of t he appl i cat i on.
*/
private void initialize() {
// Insert pre-init code here
getDisplay().setCurrent(get_helloForm());
// Insert post-init code here
}

/ ** Cal l ed by t he syst emt o i ndi cat e t hat a command has been i nvoked on a par t i cul ar di spl ayabl e.
* @par amcommand t he Command t hat ws i nvoked
* @par amdi spl ayabl e t he Di spl ayabl e on whi ch t he command was i nvoked
*/
publ i c voi d commandAct i on( Command command, Di spl ayabl e di spl ayabl e) {
/ / I nser t gl obal pr e- act i on code her e
i f ( di spl ayabl e == hel l oFor m) {
i f ( command == exi t Command) {
/ / I nser t pr e- act i on code her e
exi t MI Dl et ( ) ;
/ / I nser t post - act i on code her e
}
}
/ / I nser t gl obal post - act i on code her e
}

/ **
* Thi s met hod shoul d r et ur n an i nst ance of t he di spl ay.
*/
public Display getDisplay() {
return Display.getDisplay(this);
}

/ **
* Thi s met hod shoul d exi t t he mi dl et .
*/
publ i c voi d exi t MI Dl et ( ) {
get Di spl ay( ) . set Cur r ent ( nul l ) ;
dest r oyApp( t r ue) ;
not i f yDest r oyed( ) ;
}

/ ** Thi s met hod r et ur ns i nst ance f or hel l oFor mcomponent and shoul d be cal l ed i nst ead of
accessi ng hel l oFor mf i el d di r ect l y.
* @r et ur n I nst ance f or hel l oFor mcomponent
*/

2
6
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 9 sur 16 27/11/2006








































3.4. Dsactivation du mode Lazy Initialized
Par dfaut, la gnration de code de NetBeans utilise le mode lazy . Nous allons le dsactiver pour
identifier les diffrences de codage.

Remarque : Dsactiver le mode Lazy Initialized est souvent utile pour pouvoir insrer des modifications
dans le codage.

Crez un nouveau projet identique au prcdent : Choisissez File >New Project (Ctrl-Shift-N).
Dans la liste box, choisissez Mobile et Mobile Application, puis Next
Entrez le nom du projet pjMidletBonjourNonLazy et choisissez votre rpertoire de sauvegarde.
Validez les deux coches Set as Main Project et Create Hello Midlet
Gardez les slections dmulateur par dfaut ainsi que la Configuration CLDC 1.1 et le Profile MIDP
2.0.
Choisissez Finish pour clore la cration du projet.

Nous allons modifier la gnration de code source pour la Form du MIDlet.
Ouvrez le Screen Design
public Form get_helloForm() {
if (helloForm == null) {
// Insert pre-init code here
helloForm = new Form(null, new Item[] {get_helloStringItem()});
helloForm.addCommand(get_exitCommand());
helloForm.setCommandListener(this);
// Insert post-init code here
}
return helloForm;
}

/ ** Thi s met hod r et ur ns i nst ance f or hel l oSt r i ngI t emcomponent and shoul d be cal l ed i nst ead of
accessi ng hel l oSt r i ngI t emf i el d di r ect l y.
* @r et ur n I nst ance f or hel l oSt r i ngI t emcomponent
*/
public StringItem get_helloStringItem() {
if (helloStringItem == null) {
// Insert pre-init code here
helloStringItem = new StringItem("LblBonjour\n", "Bonjour d\'Armenti\u00E8res");

// Insert post-init code here
}
return helloStringItem;
}

/ ** Thi s met hod r et ur ns i nst ance f or exi t Command component and shoul d be cal l ed i nst ead of
accessi ng exi t Command f i el d di r ect l y.
* @r et ur n I nst ance f or exi t Command component
*/
public Command get_exitCommand() {
if (exitCommand == null) {
// Insert pre-init code here
exitCommand = new Command("Exit", Command.EXIT, 1);
// Insert post-init code here
}
return exitCommand;
}

publ i c voi d st ar t App( ) {
initialize();
}

publ i c voi d pauseApp( ) {
}

publ i c voi d dest r oyApp( bool ean uncondi t i onal ) {
}

1
3
4
5
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 10 sur 16 27/11/2006

Cliquez sur lcran helloForm[Form] et, dans la fentre des proprits, enlevez la coche Lazy
Initialized .

Modifiez la proprit Text du StringItem en Bonjour dArmentires
Modifiez la proprit Label du StringItem en LblBonjour
Enlevez la coche Lazy Initialized du StringItem


Vrifiez le code source gnr et comparez le avec lexemple prcdent en mode Lazy Initialized



































/ *
* Hel l oMi dl et . j ava
*
* Cr eat ed on 22 novembr e 2006, 13: 44
*/

package hel l o;

i mpor t j avax. mi cr oedi t i on. mi dl et . *;
i mpor t j avax. mi cr oedi t i on. l cdui . *;

/ **
*
* @aut hor f r eder i c
*/
publ i c cl ass Hel l oMi dl et ext ends MI Dl et i mpl ement s CommandLi st ener {

/ ** Cr eat es a new i nst ance of Hel l oMi dl et */
publ i c Hel l oMi dl et ( ) {
}

pr i vat e For mFor mHel l o;
pr i vat e St r i ngI t emhel l oSt r i ngI t em;
pr i vat e Command exi t Command;



/ ** Thi s met hod i ni t i al i zes UI of t he appl i cat i on.
*/
private void initialize() {
// Insert pre-init code here
helloStringItem = new StringItem("LblHello", "Bonjour d\'Armentieres");
FormHello = new Form("Titre de la forme", new Item[] {helloStringItem});
FormHello.addCommand(get_exitCommand());
FormHello.setCommandListener(this);
getDisplay().setCurrent(FormHello);
// Insert post-init code here
}

2
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 11 sur 16 27/11/2006



Compilez et excutez le programme
Choisissez Run >Run Main Project (F6).

Agrandissez la fentre Output pour afficher correctement les messages de construction de votre projet. Un
mulateur est lanc pour afficher le rsultat de votre application. Le simulateur est DefaultColorPhone .
Dans la fentre de lmulateur, vous pouvez excuter la commande Launch et Exit de la mme manire que
sur votre portable.

/ ** Cal l ed by t he syst emt o i ndi cat e t hat a command has been i nvoked on a par t i cul ar
di spl ayabl e.
* @par amcommand t he Command t hat ws i nvoked
* @par amdi spl ayabl e t he Di spl ayabl e on whi ch t he command was i nvoked
*/
publ i c voi d commandAct i on( Command command, Di spl ayabl e di spl ayabl e) {
/ / I nser t gl obal pr e- act i on code her e
i f ( di spl ayabl e == For mHel l o) {
i f ( command == exi t Command) {
/ / I nser t pr e- act i on code her e
exi t MI Dl et ( ) ;
/ / I nser t post - act i on code her e
}
}
/ / I nser t gl obal post - act i on code her e
}

/ **
* Thi s met hod shoul d r et ur n an i nst ance of t he di spl ay.
*/
public Display getDisplay() {
return Display.getDisplay(this);
}

/ **
* Thi s met hod shoul d exi t t he mi dl et .
*/
publ i c voi d exi t MI Dl et ( ) {
get Di spl ay( ) . set Cur r ent ( nul l ) ;
dest r oyApp( t r ue) ;
not i f yDest r oyed( ) ;
}



/ ** Thi s met hod r et ur ns i nst ance f or exi t Command component and shoul d be cal l ed i nst ead
of accessi ng exi t Command f i el d di r ect l y.
* @r et ur n I nst ance f or exi t Command component
*/
public Command get_exitCommand() {
if (exitCommand == null) {
// Insert pre-init code here
exitCommand = new Command("Exit", Command.EXIT, 1);
// Insert post-init code here
}
return exitCommand;
}

publ i c voi d st ar t App( ) {
initialize();
}

publ i c voi d pauseApp( ) {
}

publ i c voi d dest r oyApp( bool ean uncondi t i onal ) {
}

}
1
3
4
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 12 sur 16 27/11/2006

4. Cration dune application MIDP en utilisant lditeur de code source.
Cette procdure vous permet de programmer une application suivant vos propres exigences ou lorsque linterface
graphique ne vous permet pas daborder des problmes particuliers (Canvas par exemple).

4.1. Cration du projet
Choisissez File >New Project (Ctrl-Shift-N)
Choisissez la catgorie Mobile puis Mobile Application .
Entrez le nom du projet pjtHelloSource et prcisant son rpertoire.
Validez la coche Set as Main Project mais enlevez celle de Create Hello MIDlet
Valide les paramtres par dfaut du Wireless Toolkit
Cliquez sur Finish et votre projet est cr.

Voici larborescence cre :



Voici une capture dcran du projet dans NetBeans



4.2. Cration du MIDlet
Crez un nouveau paquetage :
Clic droit sur le nud pjtHelloSource >New >J ava Package
Donnez-lui pour nom : pqtHello

Cration du MIDlet :
Clic droit sur le paquetage pqthello >New >File/Folder
Dans la catgorie MIDP, choisissez MIDlet, puis Next
Entrez le nom du MIDlet : BonjourMIDlet et vous avez termin : la clase BonjourMIDlet est cre

Double cliquez sur BonjourMIDlet.java et vous affichez le code source dans lditeur.
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 13 sur 16 27/11/2006




Modifiez le code en insrant les caractres gras du listing suivant.



/ *
* Bonj our Mi dl et . j ava
*
* Cr eat ed on 24 novembr e 2006, 13: 09
*/

package pqt Hel l o;

i mpor t j avax. mi cr oedi t i on. mi dl et . *;
i mpor t j avax. mi cr oedi t i on. l cdui . *;

/ **
*
* @aut hor gwenael
* @ver si on
*/
publ i c cl ass Bonj our Mi dl et ext ends MI Dl et implements CommandListener {
private Display objDisplay;
private Form helloForm;
private StringItem helloStringItem;
private Command exitCommand;
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 14 sur 16 27/11/2006



Lancez lapplication, vous devez obtenir :



public BonjourMidlet() {
objDisplay = Display.getDisplay (this);
helloStringItem = new StringItem("Bienvenue", "Bonjour d'Armentires");
exitCommand = new Command("Quitter", Command.EXIT, 1);
helloForm = new Form(null, new Item[] {helloStringItem});
helloForm.addCommand(exitCommand);
helloForm.setCommandListener(this);
}

public void commandAction(Command command, Displayable displayable) {
if (command == exitCommand) {
objDisplay.setCurrent(null);
destroyApp(true);
notifyDestroyed();
}
}

publ i c voi d st ar t App( ) {
objDisplay.setCurrent(helloForm);
}

publ i c voi d pauseApp( ) {
}

publ i c voi d dest r oyApp( bool ean uncondi t i onal ) {
}
}
1
3
2
Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 15 sur 16 27/11/2006

5. Affichage de laide : javadocs
A tout moment dans votre diteur source, vous pouvez obtenir de laide en appuyant sur ALT F1, le curseur
positionn sur le mot J ava posant des problmes, une page J avaDocs souvrira en vous donnant les informations
dsires.


6. Utilisation des tutoriaux
Dans le menu Help, choisissez Welcome Screen et vous aurez accs diffrents Getting Started (liaison Internet
ncessaire) On peut par ce menu ajouter de nouvelles fonctionnalit telles que le C++.
Lcran Welcome Screen vous propose galement des exemples de projets (gnraux, Web, Mobile, Entreprise,
Web Service, )

Dans le menu Help, vous avez galement accs aux J avaDoc References (J ava EE 5 SDK et J Unit API)


7. Dbogage
Quand vous dmarrez uns session de dbogage dans lenvironnement de NetBeans, lIDE compile les fichiers que
vous voulez dboguer, les excute en mode debug, affiche la fentre Debugger Console.

Pour dmarrer une session de debug, slectionnez le fichier dsir et utilisez lune des commandes suivantes :
Debug Main Project (F5) : excute les programme jusquau premier point darrt rencontr.
Step Into (F7) : idem
Run to Cursor (F4) : excute le programme jusqu la position du curseur.

La fentre de Debugger Console ouvre les fentres suivantes : Watches , Local Variables et Call Stack.


Utilisation NetBeans
BTS iris - Lyce Eiffel - Armentires Page 16 sur 16 27/11/2006


Liste des diffrentes fentres de dbogage :

Nom Raccourcis Description
Local Variables Alt-Shift-1 Liste les variables locales de la mthode courante
Watches Alt-Shift-2 Liste les variables et les expressions que vous dsirez visualiser
Call Stack Alt-Shift-3 Liste la squence des appels durant lexcution du thread courant
Classes Alt-Shift-4 Affiche la hirarchie des classes charges pendant le dbogage.
Breakpoints Alt-Shift-5 Liste les points darrt du projet
Session Alt-Shift-6 Liste les sessions de dbogage en cours
Threads Alt-Shift-7 Liste les threads de la session
Sources Alt-Shift-8 Liste les rpertoires sources de votre projet.

Autres commandes :
Step Over (F8) : Excute linstruction en vitant les appels de mthode.
Step Into (F7) : Excute linstruction en entrant dans les appels de mthode
Step Out (Alt-Shif-F7) : Excute une instruction. Si la ligne de code fait partie dune mthode, les lignes
de codes suivantes de la mthode sexcutent et on retourne dans le code de la mthode appelante.
Continue (Ctrl-F5) : Continue lexcution de lapplication.