Re: [ostorybook-dev] Apprentissage

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


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...
>>

-- 
FaVdB
Il reste chez lui, il a tout compris

-- 
oStorybook5 dev


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