# [Java] Panel avec coins arrondis



## tahitimellow (11 Mai 2005)

Je suis en train de construire une interface en Swing avec Java 1.4.2.
Lorsque je crée un panel (classe JPanel), je voudrais pouvoir lui donner un aspect de bordure type Bevel enfoncé avec des coins arrondis (un peu comme pour les JTabbedPane).
Malheureusement, tous mes panels de type Bevel ont les coins carrés.
Comment faire ?


----------



## Ptit-beignet (11 Mai 2005)

Désolé pour toi, mais j'ai pas trouvé.
Par contre il te reste toujours la solution du JPanel avec background transparent et une image en fond de l'apparence que tu veux, arrondie, bevelled, .... C'est bidon mais si tu veux vraiment le faire, je vois pas d'autre solution. 
Peut etre que d'autre pourront mieux t'aider....
A+
Vincent


----------



## tahitimellow (11 Mai 2005)

Arghhhhh !
J'espère que c'est pas un manque dans les classes Java.
En même temps, ça m'étonne, car les JTabbedPane ont bien les coins arrondis, alors il serait étrange que les objets soient mis à jour partiellement.
Merci pour ta réponse en tous cas


----------



## iota (11 Mai 2005)

Salut.

As tu essayé d'appliquer un BevelBorder à ton JPannel (via setBorder()) ?

@+
iota


----------



## tahitimellow (11 Mai 2005)

Oui oui, j'utilse bien un BevelBorder, de type Lowered (pour qu'il paraisse enfoncé), et j'obtiens bien un Panel d'apparence Bevel, sauf que les coins sont carrés, comme on faisait dans le temps.


----------



## GrandGibus (11 Mai 2005)

Je ne vois pas trop l'interet de la manip... mais bon...

si c'est pour obtenir en Swing le look natif metal brushed mac os dans tes panels, il suffit de lancer ton appli avec *-Dapple.awt.brushMetalLook=true*.

sinon, une façon de le refaire est d'utiliser ta propre classe de Border en faisant toi-même (comme un grand) le paint. En utilisant Java2D c'est très facile.


gg


----------



## eTeks (13 Mai 2005)

Ca n'est pas bien compliqué. Tu implémentes toi-même ta classe de border avec l'interface javax.swing.border.Border : il y a que trois méthodes à écrire !
Pour t'aider il y a même la méthode paintRoundRect dans la classe Graphics...


----------

