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 :

[JPanel] [Débutant] Fond dégradé dans un JPanel ??


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Par défaut [JPanel] [Débutant] Fond dégradé dans un JPanel ??
    Bonjour et merci pour votre aide !

    Je cherche à faire une barre d'outils..
    J'ai laissé tomber le JToolBar parce qu'il ne me permettait pas de faire ce que je voulais, donc je passe par un JPanel dans lequel je mets mes boutons (que des icones, pas de texte) avec des popups pour les sous menus.

    Mais mon JPanel est moche, je veux dire sa couleur de fond.

    Comment je peux faire une couleur de fond dégradé dans mon JPanel (de la manière la plus simple) ???

    J'arrive bien à faire une couleur unie, mais pour un dégradé ?

    Voici mon code, mais il n'est pas vraiment utile pour m'aider..
    Juste pour illustrer ce que je fais..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    public class MyToolBar extends JPanel implements ActionListener {
     
    	private final int NB_BOUTONS = 9;
    	private ImageIcon [] tabIcons = new ImageIcon[NB_BOUTONS]; 
    	private JButton [] tabBoutons = new JButton[NB_BOUTONS];
    	private String [] tabAlt = new String[NB_BOUTONS];
    	JPopupMenu testIconDeroul;
     
     
     
     
    	public MyToolBar () {
     
    		this.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
     
    		// POUR LA COULEUR DE FOND UNIE, CA MARCHE, MAIS COMMENT FAIRE POUR UN DÉGRADÉ ???
    		this.setBackground(new Color(255, 255, 255));		
     
    		// Création des icones dont on va se servir pour les boutons de la barre d'outils
    		tabIcons[0] = new ImageIcon("icons/kcontrol.png");
    		tabIcons[1] = new ImageIcon("icons/filesave.png");
    		tabIcons[2] = new ImageIcon("icons/xmag.png");
    		tabIcons[3] = new ImageIcon("icons/kjobviewer.png");
    		tabIcons[4] = new ImageIcon("icons/undo.png");
    		tabIcons[5] = new ImageIcon("icons/redo.png");
    		tabIcons[6] = new ImageIcon("icons/editdelete.png");
    		tabIcons[7] = new ImageIcon("icons/editcut.png");
    		tabIcons[8] = new ImageIcon("icons/editpaste.png");
     
    		// Définition des messages alternatifs correspondants
    		tabAlt[0] = "Boite à outils";
    		tabAlt[1] = "Enregistrer";
    		tabAlt[2] = "Zoom";
    		tabAlt[3] = "Imprimer";
    		tabAlt[4] = "Annuler dernière action";
    		tabAlt[5] = "Reproduire dernière action";
    		tabAlt[6] = "Supprimer";
    		tabAlt[7] = "Couper";
    		tabAlt[8] = "Coller";
     
    		// Création de tous les boutons et ajout à la barre d'outils
    		for (int i=0; i<NB_BOUTONS; i++) {
    				// Création des boutons
    				tabBoutons[i] = new JButton(tabIcons[i]);
    				// Les boutons sont de taille minimum 
    				tabBoutons[i].setMargin(new Insets(0,0,0,0));
    				// Les boutons ont un fond transparents
    				tabBoutons[i].setContentAreaFilled(false);
    				// Avec les messages alternatifs correspondants
    				tabBoutons[i].setToolTipText(tabAlt[i]);
    				// Ajout à la barre d'outils
    				this.add(tabBoutons[i]);
    				// Ajout des ActionListeners
    				tabBoutons[i].addActionListener(this);
    		}
     
     
    		// TEST ICONE DEROULANT POPUP (EXEMPLE SIMPLE)
    		testIconDeroul = new JPopupMenu();
    		testIconDeroul.add(new JMenuItem("sous menu 1"));
    		testIconDeroul.add(new JMenuItem("sous menu 2"));
     
    	}
     
     
     
    	// ACTION
    	public void actionPerformed (ActionEvent e) {
     
    		// On récupère le bouton qui a été cliqué
    		Component boutonClicked = (Component)e.getSource();
    		// Coordonées ou s'affichera le menu déroulant
    		int posXpopup = 0;
    		int posYpopup = boutonClicked.getY() + boutonClicked.getHeight();
    		// Affichage du popup exemple 		
    		testIconDeroul.show(boutonClicked, posXpopup, posYpopup);
     
    		// ACTION Bouton 0
    		if (e.getSource() == tabBoutons[0]) {
    			System.out.println(tabAlt[0]);
    		}
     
    		// ACTION Bouton 1
    		if (e.getSource() == tabBoutons[1]) {
    			System.out.println(tabAlt[1]);
    		}
     
    		// ACTION Bouton 2
    		if (e.getSource() == tabBoutons[2]) {
    			System.out.println(tabAlt[2]);
    		}
     
    		// ACTION Bouton 3
    		if (e.getSource() == tabBoutons[3]) {
    			System.out.println(tabAlt[3]);
    		}
     
    		// ACTION Bouton 4
    		if (e.getSource() == tabBoutons[4]) {
    			System.out.println(tabAlt[4]);
    		}
     
    		// ACTION Bouton 5
    		if (e.getSource() == tabBoutons[5]) {
    			System.out.println(tabAlt[5]);
    		}
     
    		// ACTION Bouton 6
    		if (e.getSource() == tabBoutons[6]) {
    			System.out.println(tabAlt[6]);
    		}
     
    		// ACTION Bouton 7
    		if (e.getSource() == tabBoutons[7]) {
    			System.out.println(tabAlt[7]);
    		}
     
    		// ACTION Bouton 8
    		if (e.getSource() == tabBoutons[8]) {
    			System.out.println(tabAlt[8]);
    		}
     
    	}
     
    }

    merci pour toute aide que vous voudrez bien m'apporter !


    P.S : j'ai bien fais une recherche sur le forum, mais je n'ai pas reussi à implémenter ce que j'ai trouvé (je débute)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Par défaut
    ça a marché en rajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public void paintComponent(Graphics g) { 
            final Graphics2D g2 = (Graphics2D) g; 
            int w = getWidth(); 
            int h = getHeight(); 
            g2.setPaint(new GradientPaint(0,0,new Color(255, 255, 255),0,h,new Color(209, 209, 209),false)); 
            g2.fillRect(0, 0, w, h); 
        }
    mon problème est donc résolu (un peu grâce à la FAQ et à d'autres posts). mais mon responsable de stage me demande maintenant de chercher plutôt des librairies sur google pour la barre d'outils que j'essaie de faire..

    je cherche donc une (ou des) librairies que je pourrai utiliser pour faire une barre d'outils un peu plus sophistiquée que la JToolBar de base..
    si vous en connaissez merci d'avance !!

    bonne journée à tous

  3. #3
    Membre éprouvé

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Par défaut
    https://flamingo.dev.java.net/

    http://www.clientjava.com/blog

    http://www.jroller.com/page/santhosh

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Par défaut
    merci beaucoup komando !

    flamingo me semble le mieux pour ce que je recherche..

    En même temps, je trouve que la barre d'outils de SWT comme dans eclipse reste l'idéale..

    si quelqu'un connait d'autres librairies, je suis preneur..

    je vous tiens au courant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  2. Dessiner dans un Jpanel et l'afficher dans un JFrame
    Par Sourrisseau dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 26/02/2007, 22h41
  3. Dégradé dans un JPanel
    Par Fabien_007 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 11/06/2006, 16h29
  4. [JPanel]Mettre une image dans un JPanel
    Par ehmppowa dans le forum Composants
    Réponses: 11
    Dernier message: 30/11/2005, 20h17
  5. [JPanel] parcours d'objets dans un JPanel
    Par fleur1234 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 17/01/2005, 13h24

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