Re: [ostorybook-dev] Apprentissage

[ Thread Index | Date Index | More lists.tuxfamily.org/ostorybook-dev Archives ]


Merci pour vos conseils. je vais regarder en détails. Cet a-midi, c'est jardinage avec le soleil:-)

Le 08/12/2020 à 09:14, oStorybook a écrit :
Quelques compléments par rapport à ce que disait Jean.

C'est vrai que le profile, ou la structure, du code généré par Netbeans
n'est pas très sympa et ne respecte pas certains principes enseignés.
Par exemple celui de limiter, autant que faire se peut, une fonction à
une cinquantaine de lignes maximum. Mais c'est la manière de faire de
Netbeans. Tu verra qu'à l'usage tu en viendras à revenir à cette règle,
c'est très précieux pour la maintenance.

Tu as peut être remarqué qu'il y a des tags un peu bizarres, comme:
// <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
En fait c'est la manière qu'a Netbeans pour repérer les parties qu'il
peut modifier/générer lui-même.
Exemple, dans Menu.java:
     private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
         // TODO add your handling code here:
         System.exit(0);
         this.dispose();
     }//GEN-LAST:event_jMenuItem7ActionPerformed
Le "// TODO add your handling code here:" tu peux l'enlever, mais
surtout pas le "//GEN-FIRST:event_jMenuItem7ActionPerformed" ni le
//GEN-LAST:event_jMenuItem7ActionPerformed", sinon tu perds toutes les
facilité de Netbeans de gérer les éléments.

Comme l'a dit Jean ton "Test1.java" ne sert à rien. C'est la classe de
départ créée par Netbeans lors de la création du projet. En fait quand
tu a créé ton "Menu.jar" il y a dedans une fonction "main" qui permet de
tester, séparément, ton menu. Donc pour rendre ton Test1 fonctionnel il
faut que tu y utilises "Menu.jar".

Avant d'aller plus loin je te conseille d'étudier cette fonction "main"
ainsi que ses paramètres. Regardes ce que Netbeans a généré dans
"Menu.jar" et essaye de comprendre chacune des lignes. Il y a deux
parties distinctes: le choix du LookAndFeel avec utilisation du "try...
catch", l'activation de l'interface utilisateur via le "invokeLater".
Finalement c'est le genre de truc qu'on retrouve partout.

Le 07/12/2020 à 14:57, Bernard Méhaut a écrit :
Bonjour à tous deux,

Je vous joins trois projets ( modestes) que j'ai étudiés / réalisés
ainsi que les constats / remarques / questions que je me pose.


Exemples


   *

     *MonApplication.java* ( Recopié du guide / manuel de JM Doudoux
     dej_20.pdf, p. 67 )


Avec Netbeans, pas de souci, l’exécution se fait bien.


En ligne de commande

Compilation, ok

Exécution :

java MonApplication

Erreur : impossible de trouver ou de charger la classe principale
MonApplication

Causé par : java.lang.NoClassDefFoundError:
monapplication/MonApplication (wrong name: MonApplication)


J’imagine qu’il s’agir du ClassPath, notion que j’ai survolée.



   *

      *TestFrame2*

Ok en ligne de commande ( compilation puis exécution)

Ok avec Netbeans (j’ai créé le même projet et j’ai remplacé le fichier
créé par le fichier existant)


J’ai constaté que ces cadres écrits sans utiliser d’IDE importaient les
classes (import javax.swing.*;).



   *

     *Test1*

J’ai essayé de réaliser un menu en utilisant JFrame Form. Dans un
premier temps, j’ai créé le projet nommé Test1. Le fichier *Test1.java*
a été créé. J’ai ensuite créé le fichier *Menu.java* avec JFrame Form.
Sous Netbeans, je visualise le projet lorsque je le réalise. Par contre,
je ne peux pas l’exécuter. J’obtiens le message d’erreur :


/Erreur : impossible de trouver ou de charger la classe principale
test1.Test1/

/Causé par : java.lang.ClassNotFoundException: test1.Test1/

//home/bernard/.cache/netbeans/12.0/executor-snippets/run.xml:111: The
following error occurred while executing this line:/

//home/bernard/.cache/netbeans/12.0/executor-snippets/run.xml:68: Java
returned: 1/

/BUILD FAILED (total time: 0 seconds)/

Encore un pb de ClassPath ??


En ligne de commande

J’ignore quel fichier compiler. J’ai fait un essai avec les deux, sans
succès (c’était attendu, vu l’erreur affichée par ailleurs)


java Test1

Erreur : impossible de trouver ou de charger la classe principale Test1

Causé par : java.lang.NoClassDefFoundError: test1/Test1 (wrong name: Test1)


java Menu

Erreur : impossible de trouver ou de charger la classe principale Menu

Causé par : java.lang.NoClassDefFoundError: test1/Menu (wrong name: Menu)


J’imaginais bien que cela ne fonctionnerait pas car je ne voyais pas
comment « lier » les deux fichiers créés.


Merci pour vos retours !

Amicalement

Bernard



Le 06/12/2020 à 17:43, oStorybook a écrit :
Le 06/12/2020 à 16:31, Jean Rébillat a écrit :
Je persiste à penser que reprendre un logiciel et réécrire des parties, ce n'est pas bien.
D'autant plus, pour shef, qu'il est trouvable sur le net : https://github.com/aditosoftware/shef
Juste : il n'est pas sous Maven.
Ce source sur GitHub est inutilisable, il ne comporte aucune référence
au source sur SourceForge ni aucune mention de licence. Il y manque le
SAM et le NOVAWORX.

Le source d'origine de SHEF est placé sous licence LGPL 2.1.

SAM je m'en débarrasse. Reste novaworx, impossible de trouver quoi que
ce soit à son propos. Si tu as une piste...


--
oStorybook5 dev


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/