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

  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    Battant

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    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.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    Battant

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    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 ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    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.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    Battant

  7. #7
    Membre émérite
    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
    Points : 2 582
    Points
    2 582
    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
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  8. #8
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    Battant

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Moi j'essayerai plutôt d'utiliser un autre constructeur pour GridLayout, surtout si tu connais le nombre de couleurs dès les départ, par exemple si tu as 12 couleurs:

    te donneras un tableau de 3x4 couleurs

  10. #10
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    Battant

  11. #11
    Membre émérite
    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
    Points : 2 582
    Points
    2 582
    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.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  12. #12
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    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
    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