IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Interface graphique java swing awt toolkit


Sujet :

AWT/Swing Java

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 205
    Par défaut Interface graphique java swing awt toolkit
    Salut !

    Je voulais réaliser une petite interface ...

    qui me permettrait de poser des TextField et puis de lés selectionner et donc de creer un rectangle de selection sur clik sur un component.

    Le rectangle de selection classique, celui avec els petit carrée aux extremités permettant de redimmensionner ...

    Dans les ide d'interface on a ca, on pose un bouton ou un text field et quand on le selectionne il apparait le rectangle de selection autour, permettant lacces au propriétes du composant son redimmensionnement etc ...


    Ben moi je voudrais ca, sauf que pas en mode conception mais en mode runtime ...

    J'ai cherché des fonctions de selection de composanst predefinis mais je trou ve pas ...

    Quelqu'un comprends il mon besoin et a t'il des idées !

    Merci d'avance !

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    J'ai pas la réponse, mais ça n'existe pas de base. Faut le coder, et y a un peu de boulot quand même, faut pas non plus être débutant.
    Sinon, peut-être qu'il existe des librairies qui le font... mais je ne les connais pas.

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par MaxLaMenaX Voir le message
    Le rectangle de selection classique, celui avec els petit carrée aux extremités permettant de redimmensionner ...
    Tu peux par exemple créer ton propre javax.swing.border.Border et l'affecter au component sélectionné. Il devra prendre en compte l'éventuel border déjà existant sur le component (mécanisme de type design pattern decorator).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 205
    Par défaut
    Ok merci pour vos deux réponses !

    Ben je suis pas vraiment débutant non plus, mais je ne suis pas non plus un expert !

    Oui, je comprends ce que tu dis dinobogan ... c'est ce que je vais finir par faire ...

    Mais je me disais comme dans les IDE d'interface, genre celui intégré a netbeans ... ou autres ... la séléction existe... sur clique component et crée le rectangle de selection avec les petits carrées de redimmensionnement...

    Je me disais donc que cette fonction existait... et que ca m'éviterait de la réimplémenter puisqu'on dit souvent "on ne réinvente pas la poudre ou la roue (selon les personnes lol)"

    Mais en fait c'est ce qu'on fait tous, on réimplémente des trucs souvent déja existant et au point ...

    Car le problème qui se pose, si je crée moi même ma Border, c'est que je devrais en créé une pour tous les types de components,
    genre si j'ai un composant en forme de rond, je devrais faire une selection en forme de cercle ...

    Quoi que non, dans les éditeurs existants mêmes les cercles sont séléctionnées par des rectangles ... enfin vous voyez ce que je veux dire ?

    Sinon,
    Par exemple j'ai "galéré" à réimplémenté le resize automatique d'un JTextField, en fonction du texte que l'on écrivait dedans ...

    Au début je l'avais fais sur la longueur du texte mais ca ne fonctionnait pas bien car la taille des lettres "varie", un "i" et moins large q'un "W". et donc en fonction des lettres que j'avais dans mon texte, ca me le redimmensionnait plus ou moins bien ...

    Donc j'ai utilisé FontMetrics.stringWidth qui donne la largeur de la chaine en fonction du font et en pixel ... et derriere je redimmensionne grace a ca ...

    Après le souci ca a été que les JTextField n'ont pas d'écouteurs sur les changements de leurs textes, à l'instar de leurs amis d'AWT qui eux ont un écouteur "TextValueHasChanged"...

    Donc au final, j'utilise le document par getDocument() du JTextField et lui crée un ecouteur sur TextListener, un truc comme ca ...

    Mais je suis persuadé qu'il y a un moyen encore plus simple que celui ci ...

    Le component JTextField doit bien avoir par défaut un écouteur sur son "text" ?



    Sinon là actuellement, j'ai un autre souci ...

    J'ai un panel un JLayeredPanel (car les layout me soulait lol) et dedans j'ai
    3 JTextfield qui se redimmensionne en fonction de l'entrée, se grandisse ou se rapetisisse ...

    J'aurais aimé que leur "pére" le JLayeredPanel en face autant, en récupérant les événement de ses fils (les 3 JTextField), mais j'arrive pas à récupere ses événement coté père ...

    et j'ai essayé je ne sais combien d'écouteur ...

    Voilà !

    Désolé pour ce long message qui ne donne peut être pas envie de le lire !

    Et merci pour vos futures indications ... !

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 205
    Par défaut
    Sinon Dinobogan,

    si tu repasses par là desfois !

    Tu pourrais un peu plus t'étendre là dessus :
    (mécanisme de type design pattern decorator).
    Car ca me dis quelquechose, mais je ne vois pas quoi exactement ...

    Enfin sinon à la rigueur, je peux utiliser la Border existante dans un premier temps, juste histoire de voir visuellement que mon objet est bien selectionné ...

    Après la sélection, je ferais le redimmensionnement et donc j'implémenterais une border personnel si je n'arrive pas à trouver une fonction qui le fait déja ...

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Pour le design pattern Decorator, voici le principe général :
    Tu vas créer ton Border MyBorder, qui va prendre en argument de construction le Border à décorer (celui initialement placé sur le Component). Toutes les méthodes de MyBorder vont appeler en interne les méthodes du Border initial, sauf lorsque tu veux faire quelque chose de particulier. Le Decorator est long à écrire (encore que sous Eclipse il est possible de générer automatiquement toutes ces méthodes pour une donnée membre). Par contre, son utilisation est très souple.
    Tu peux aussi "empiler" autant de Decorator que tu veux sans modifier la structure de ton code. Tu pourras donner à chaque Decorator une utilisation particulière.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 205
    Par défaut
    Ok merci...

    Par contre pour la generation sous eclipse,

    necessite t'elle une version d'eclipse ?

    ou un plugin ?


    et sinon si quelqu'un a une solution sur les evenements de mon Panel Parent avec ces trois fils JTextField, poser deux posts plus haut à la fin !

    Merci

Discussions similaires

  1. Interface graphique java swing interrogeant une BDD
    Par Mugetsu dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 10/06/2011, 11h19
  2. Java Swing/AWT : Rafraichissement jSplitPane (Divider)
    Par heavydrinker dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 01/03/2008, 18h51
  3. Jar et interface graphique avec swing
    Par ALIAS200 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 02/05/2007, 17h25
  4. Composants à utiliser pour une interface graphique Java
    Par nicolas.pied dans le forum Composants
    Réponses: 4
    Dernier message: 28/11/2005, 20h27
  5. [résolut]affichage d'une interface graphique des objs AWT
    Par Mayazi dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/11/2005, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo