begin process at 2012 02 10 19:26:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Swing

 > FEUILLE DE PROPRIÉTÉS

FEUILLE DE PROPRIÉTÉS


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Swing Classé sous :propertygrid, édition champs, class, annotation, property sheet Niveau :Débutant Date de création :16/03/2008 Date de mise à jour :23/03/2008 16:39:24 Vu / téléchargé :4 946 / 269

Auteur : twinser

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Composant Swing. Feuille de propriétés construite à partir des champs annotés dans le code source.
Ainsi, l'utilisateur peut modifier les champs contenus dans une classe : Fini les longues séries de JLabel + JTextField pour la saisie des données utilisateurs. La partie graphique est auto-généré !
De base, cela fonctionne pour les String, Nombres (int, float , double, ..) et les couleurs
Cette source est basée sur L2FProd.com.

Source

  • /*
  • * Petit exemple d'application : édition d'un profil utilisateur
  • */
  • package propertygrid;
  • import java.awt.Color;
  • import java.awt.Font;
  • import java.io.File;
  • import javax.swing.JFrame;
  • import javax.swing.JScrollPane;
  • /**
  • *
  • * @author ronan
  • */
  • public class Main {
  • public Main() {
  • JFrame frame = new JFrame("Test");
  • frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  • frame.setSize(300, 300);
  • PropertySheetTable grid = new PropertySheetTable(new ClassPerso("Martin", "Ronan"));
  • frame.getContentPane().add(new JScrollPane(grid));
  • frame.setVisible(true);
  • }
  • /**
  • * @param args the command line arguments
  • */
  • public static void main(String[] args) {
  • new Main();
  • }
  • class ClassPerso {
  • @Property(Category = "Identité", Description = "Nom")
  • public String nom;
  • @Property(Category = "Identité", Description = "Prenom")
  • public String prenom;
  • @Property(Category = "Equipe", Description = "Nombre")
  • public int nbre;
  • @Property(Category = "Equipe", Description = "Couleur")
  • public Color color;
  • @Property(Category = "Identité", Description = "Nom équipe")
  • public Font font;
  • @Property(Category = "Identité", Description = "Photo")
  • File file;
  • public ClassPerso(String nom, String prenom) {
  • this.nom = nom;
  • this.prenom = prenom;
  • nbre = 20;
  • color = Color.RED;
  • font = new Font(Font.MONOSPACED, Font.CENTER_BASELINE, 12);
  • }
  • }
  • }
/*
* Petit exemple d'application : édition d'un profil utilisateur
*/
package propertygrid;

import java.awt.Color;
import java.awt.Font;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JScrollPane;

/**
 *
 * @author ronan
 */
public class Main {

    public Main() {
        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 300);
        PropertySheetTable grid = new PropertySheetTable(new ClassPerso("Martin", "Ronan"));
        frame.getContentPane().add(new JScrollPane(grid));
        frame.setVisible(true);

    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main();

    }

    class ClassPerso {

        @Property(Category = "Identité", Description = "Nom")
        public String nom;
        @Property(Category = "Identité", Description = "Prenom")
        public String prenom;
        @Property(Category = "Equipe", Description = "Nombre")
        public int nbre;
        @Property(Category = "Equipe", Description = "Couleur")
        public Color color;
        @Property(Category = "Identité", Description = "Nom équipe")
        public Font font;
        @Property(Category = "Identité", Description = "Photo")
        File file;

        public ClassPerso(String nom, String prenom) {
            this.nom = nom;
            this.prenom = prenom;
            nbre = 20;
            color = Color.RED;
            font = new Font(Font.MONOSPACED, Font.CENTER_BASELINE, 12);
        }
    }
}

 Conclusion

Il reste des choses à faire : ca serait sympa d'y ajouter un comboBox pour choisir l'objet à éditer.
Remarquer qu'il est possible d'éditer des objets particuliers ( ouverture d'une boite de dialogue ...)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

16 mars 2008 21:53:56 :
mais euh....
23 mars 2008 16:39:25 :
J'y ai rajouté quelques explications, je suis étonné que ce code n'apporte pas plus d'engouement. C'est une manière simple de torcher les projets scolaires du type "Gestion des bulletins de notes". Récemment j'ai développé un logiciel de thermique quasi-entièrement avec ce composant : Par exemple, lors de la création des algorithmes, les constantes (précision, nbre d'itérations, ...) sont mis en variable public avec une annotation. L'utilisateur peut alors facilement éditer les propriétés de l'algo. Et pas plus de 2 lignes de code à écrire pour la partie graphique.

 Sources du même auteur

Source avec Zip Source avec une capture APPLET : REDIMENSIONNEMENT D'UNE IMAGE AVANT UPLOAD
Source avec une capture VISUALISER DES JOURNAUX LOG4J
REDIRECTION DES FLUX SYSTEM.OUT ET SYSTEM.ERR DANS UNE JTEXT...
Source avec Zip Source avec une capture FENÊTRE POUR INTERROGER UNE BASE DE DONNÉE

 Sources de la même categorie

Source avec Zip Source avec une capture MENU CIRCULAIRE EN SWING par Julien39
Source avec Zip Source avec une capture BANNIÈRE EN SWING : TEXTE DÉFILANT SUR UN JLABEL par Julien39
Source avec Zip Source avec une capture INDICATEUR D'ACTIVITÉ ANIMÉ par Julien39
Source avec Zip Source avec une capture JGRAPH : COMPOSANTS SWING CUSTOMISÉS par Julien39
Source avec Zip Source avec une capture JTABLE CUSTOMISÉE par Julien39

 Sources en rapport avec celle ci

Source avec Zip CLASS DEMINEUR par Niidhogg
Source avec Zip CHAT ULTRA SIMPLE EN 2 CLASSES par bloofi
Source avec Zip AJOUT DE "LISTENERS" À DES COMPOSANTS SWING VIA LES ANNOTATI... par inf98
Source avec Zip GESTION DE TABLEAUX AVEC TAILLE ET NOMBRE DE DIMENSIONS DYNA... par bjdc
JOUER UN SON WAV JAVA par nounou21

Commentaires et avis

Commentaire de uhrand le 24/03/2008 10:38:55

> je suis étonné que ce code n'apporte pas plus d'engouement

P.ex. il n'y a pas d'éditeur de date et pas de support pour intégrer un éditeur comme "com.toedter.calendar.JDateChooser".

Commentaire de twinser le 25/03/2008 18:13:52

Si, on peut ajouter comme l'on veut des renderer et des éditeurs. Par exemple dans notre cas, il faut créer deux classes :
public class DateCellRenderer extends DefaultCellRenderer ...
et public class DateChooserEditor extends AbstractPropertyEditor ...
puis enregistrer les classes dans les hashmaps :

   PropertyRendererRegistry propRegistery = new PropertyRendererRegistry();
        propRegistery.registerRenderer(Date.class,new DateCellRenderer());
        grid.setRendererFactory(propRegistery);
et de même avec le editor factory...

Commentaire de uhrand le 25/03/2008 20:25:00

Oui, je suppose que toi tu sais comment utiliser ta source. Mais il faudrait penser aussi aux autres utilisateurs en documentant le mode d'emploi. Ton petit exemple d'application n'est pas concluant du tout, parce qu'en fait c'est une application complètement inutile, qui ne fait qu'afficher quelques propriétés. En plus, elle ne fonctionne plus si on la met dans un projet à part....

Commentaire de guigui37600 le 26/03/2008 00:36:49 7/10

J'ai mis 7 pour le principe que cela donne un exemple différent de ce que j'ai pu voir sur l'utilisation de cette librairie.
Mon seul regret c'est qu'il ne semble pas y avoir eu de travail pour la compréhension : pas de commentaire ni d'explication sur ce qui a été fait...
Pour information vous trouverez les combo-box implémentée au sein des projets libres qui sont en exemple sur le site de la librairie http://l2fprod.com/common/use.php. Elles sont implémentées nativement dans la librairie.
Au niveau des dates, la librairie  offre déjà des possibilité via "com.toedter.calendar.JDateChooser" mais cela reste à confirmer car ça fait longtemps que je ne l'ai pas regardé ni utilisé.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

problèmes de classes [ par Waaagh ] Comment ca se fait que j'arrive pas a faire compiler ce programme? je le met dans un fichier animal.java et le compil m'insulte en me disant qu'il "ca marre de class not found!!! [ par hgrandsart ] class not found !! c'est tout ce que sais dire I.E 5.5quand on lui envoie une applet compilée avec JDK2J'ai désactive le JIT d'IE, Réeactivé, télécha executer .class [ par Aldee ] Je n'arrive pas à lancer mes .class depuis une fenetre Dos.Dites-moi où je me trompe :0-J'ouvre la fenetre Dos de Windows MSDos.1-je me mets dans le r .class problème [ par sneark ] Bon je suis le débutant des débutant...Bon alors j'ai esseye de mettre un applet sur mon site mais ça a foirer: http://tout.cara.free.fr/merde.htmJ'ai JSP TOMCAT pb simple .... mais pas pour moi!!!! [ par lebobby ] Bonjour,je travailles sous XP avec TOMCAT 4.1.18.Il est correctement installé (J'ai fait fonctionné les test JSP et SERVLET avec succès).Mais voila, p pb TOMCAT AU secours !!!! [ par lebobby ] Bonjour,je travailles sous XP avec TOMCAT 4.1.18.Il est correctement installé (J'ai fait fonctionné les test JSP et SERVLET avec succès).Mais voila, p Problème avec un Keylistener [ par subichan ] Bonjour tout le monde,j'ai le probleme suivant :J'ai defini ma class comme telle: public class Nom extends JFrame implements KeyListener {...et j'obti Problème avec un Keylistener [ par subichan ] Bonjour tout le monde,j'ai le probleme suivant :J'ai defini ma class comme telle: public class Nom extends JFrame implements KeyListener {...et j'obti objet dynamique [ par Juls ] Salut J'ai un gros problème .Je vais essayer de faire simple :Une class voiture et une class parcoursLa class parcours instancie mes objets voitures e objet dynamique [ par Juls ] Salut J'ai un gros problème .Je vais essayer de faire simple :Une class voiture et une class parcoursLa class parcours instancie mes objets voitures e


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales