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 :

scroolBarr dans le mauvais sens dans une palette de couleurs


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut scroolBarr dans le mauvais sens dans une palette de couleurs
    Bonjour,

    J'ai créer une palette de couleur. cette dernière logée das un jpanel (toutes les couleurs sont dedans sous forme de carré) Affin de mettre un ascenseur vertical à cette palette (je voudrais aussi gérer la roulette de la souris), j'ai créer un jcroolPane dans lequel j'ai mis le panel de couleur en passant ce dernier au constructeur.


    Problème : le scrollBar vient en horizontale et pas en vertical

    Pourriez-vous m'aider a inverser les chose ?

    Merci d'avance

    Battant

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 292
    Par défaut
    Soit ton code indique de mettre la barre horizontale et pas la verticale, soit tu as laissé le choix et l'application considère qu'elle n'a pas besoin de la barre verticale.

    En clair, montre nous un bout de code pour qu'on puisse te dire.

  3. #3
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut
    Voilà le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private JScrollPane paletteHandler;
          private JPanel colorPalette;
     
    colorPalette = new JPanel(new FlowLayout(FlowLayout.LEFT,1,1));
        paletteHandler = new JScrollPane(colorPalette);
    j'ajoute une couleur dans la palette comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        	   colorPalette.add(new ColorRectangle((new Color (it.next()))));
    Merci de me dire si vous avez besoin de plus de précisions

    A+

    Battant

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 292
    Par défaut
    C'est un peu court.
    Si tu n'as effectivement que cela, un indice: Les JPanel n'ont pas de taille. Essaie de rajouter une description comme celle-ci:
    monPanel.setPreferredSize(new Dimension(100,100));

    Peut-être as-tu une capture d'écran éloquante pour nous montrer ?

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est de la faute du FlowLayout. En effet ce layout te place les composants sur la même ligne tant qu'il a de la place de disponible. Quand il n'a plus d'espace il passe à la ligne.

    Or le JScrollPane met à disposition un espace potentiellement infini au composant qu'il contient. Donc le FlowLayout s'étend dans la largeur comme un petit goret .

    Bref je te conseille de passer à un Layout un peu plus flexible que ce bon vieux FlowLayout.

  6. #6
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut
    Bonjour,

    Merci pour votre réponse mais je ne sais pas quelle layout employé.

    GridLayout donnerais parfois des gros carré de couleurs (j'y avais pensé au début en ayant 2 propriété une pour la largeur et une autre pour la hauteur) mais j'aimerais bien que la taille du carré de couleur reste fixe comme dans une palette de couleur ordinaire.

    Quel layout utiliser

    pouvez-vous me conseiller

    Merci d'avance

    Battant

  7. #7
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Avec le GridLayout, toutes les cellules ont la même taille, celle de la plus grosse.

    S'il y a parfois de gros carrés de couleurs, c'est que sans doute parfois tu en mets des gros.

    Mets-les tous petits, et normalement cela devrait être bon

  8. #8
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
        colorPalette = new JPanel(new GridLayout());
    Comme on peut le voir ici, j'ai mis le gridLayout avec les paramètre par défaut mais ça ne change rien. Seule la barre de défilement horizontale s'affiche mais tout le monde sait que la barre horizontale n'est pas appréciée. C'est pourquoi, seule la barre verticale devrait être visible.

    Merci pour votre aide.

    Battant

  9. #9
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut
    Bonsoir,

    Non malheureusement je ne le connais pas étant donné que ce sont des couleurs de transparences que l'utilisateur ajoute ou supprimé dynamiquement via un rectangle de sélection en vu de découper une image

    Comment faire alors ?

    Merci

    Battant

  10. #10
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    En lisant la doc, on apprend que la valeur 0 veut dire n'importe quelle valeur :
    Citation Envoyé par javadoc
    Parameters:
    rows - the rows, with the value zero meaning any number of rows.
    cols - the columns, with the value zero meaning any number of columns.
    Il suffit donc de fixer une valeur horizontale, et la grille s'étendra verticalement.

  11. #11
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut
    Bonjour,

    J'ai fixé la taille en largeur. malheureusement, (en particulier en largeur) les petit carré de couleur ont tendance à trop s'espacer si j'agrandis la fenêtre plutôt que de s'arranger comme dans le flowLayout.

    j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       this.setResizable(false);
    Auriez-vous d'autre proposition ?

    Comment pourrais-je par exemple jouer avec les propriété du layout d'après les mouvement de la souris ?

    Merci de me répondre

    A bientôt

    Battant

Discussions similaires

  1. recto/verso dans le mauvais sens
    Par zorino dans le forum QuickReport
    Réponses: 2
    Dernier message: 05/08/2010, 15h18
  2. [XNA] Superposition de textures (dans le mauvais sens)
    Par tamiii dans le forum XNA/Monogame
    Réponses: 1
    Dernier message: 24/04/2008, 16h31
  3. [VBA-E]création d'une palette de couleur
    Par roseau dans le forum Excel
    Réponses: 7
    Dernier message: 02/04/2007, 10h26
  4. [MFC] Utilisation d'une palette de couleur
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 01/06/2005, 17h35

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