[Java] Panel avec coins arrondis

tahitimellow

Membre actif
30 Septembre 2001
290
0
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 ?
 
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
 
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 :)
 
Salut.

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

@+
iota
 
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.
 
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
 
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...