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

2D Java Discussion :

JPanel - Bords arrondis - transparence extérieure


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 25
    Par défaut JPanel - Bords arrondis - transparence extérieure
    J'ai créé un panel dont le fond est dégradé.
    Je redessine un bord à ce panel, à 5 px du bord réel du panel.

    Le dégradé ne doit s'afficher qu'à l'intérieur de ce bord, et à l'extérieur du bord, j'aimerais voir la couleur du composant parent par transparence.

    Problème: si je ne redessine pas à l'extérieur de ce bord également, ça m'affiche des truc bizarre sur la bande de 5 pixels qui fait le tour du bord(par ex: un morceau du bouton qui se trouve au bas de l'écran, un bout de jtable...) et ça varie parfois quand je déplace ma souris

    Du coup je redessine du gris a l'extérieur de mon bord pour éviter d'avoir n'importe quoi à la place, mais je ne vois plus le composant en arrière plan autour de mon bord par contre.

    Comment puis faire pour que l'extérieur du bord que je dessine, soit transparent sans foirer ?

    (Ne me dites pas de mettre des insets entre mes panels et de dessiner le bord sur le bord réel du JPanel, ce n'est pas envisageable (trop de refactoring) et de toute façon, dans les angles arrondis, le problème resterait le même)

    Merci pour le coup de pouce.

    Voici mon code:

    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
     
    		@Override
    	protected void paintComponent(final Graphics g) {
    		super.paintComponent(g);
    			final Graphics2D graphics = (Graphics2D) g.create();
    			try {
    				graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    						RenderingHints.VALUE_ANTIALIAS_ON);
     
    				// gradient background
    				final GradientPaint gp = new GradientPaint(0, 0, color1, 0, getHeight(), color2);
    				graphics.setPaint(gp);
     
    				// draw the rounded rectangle (inside border)
    				graphics.fillRoundRect(5, 0, getWidth() - 10, getHeight(), 20, 20);
    			} finally {
    				graphics.dispose();
    			}
    	}

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 098
    Par défaut
    Faut jouer avec le SetOpaque() des composants et ca ira je pense, ce que je ne pense pas avoir vu dans ton code.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [JPanel] bords arrondis et setBackgroung
    Par size_one_1 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 18/06/2011, 23h17
  2. div avec bord arrondi et transparent
    Par malkie dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 19/08/2008, 10h38
  3. [Débutant] Bouton avec les bords arrondis
    Par zwieback dans le forum Graphisme
    Réponses: 3
    Dernier message: 12/06/2006, 13h18
  4. [C#][2.0]UserCtl Degradé backcolor + Bord arrondi
    Par chnew dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/01/2006, 19h20
  5. [CSS] - une div aux bords arrondis ?
    Par 10-nice dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 23/09/2005, 15h47

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