web-dev-qa-db-fra.com

Est-il possible d'avoir une bordure pivotante Java uniquement sur le côté supérieur?

Je sais comment créer des bordures en utilisant BorderFactory mais je ne vois rien qui me permette de spécifier sur quels côtés je veux la bordure: S

36
Becky

De tutoriel Sun :

L'image suivante montre quelques bordures mates. Lors de la création d'une bordure mate, vous spécifiez le nombre de pixels qu'elle occupe en haut, à gauche, en bas et à droite d'un composant.

( documentation Java )

40
Pool

Vous pouvez utiliser MatteBorder pour spécifier les dimensions de la bordure de chaque côté. Le constructeur de MatteBorder est:

public MatteBorder(int top,
                   int left,
                   int bottom,
                   int right,
                   Color matteColor)

Donc, si vous voulez avoir une bordure uniquement en bas et à droite de votre JPanel, vous pouvez écrire quelque chose comme ceci:

JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 1, Color.BLACK));
75
Alex Ntousias

La bordure mate et vide vous permet de spécifier les tailles de chaque côté, qui peuvent être nulles.

L'interface Border elle-même est assez facile à implémenter si vous voulez un look personnalisé. Je suppose qu'il peut y avoir des bibliothèques tierces disponibles contenant des styles non inclus dans la bibliothèque Java.

6
text_field.setBorder( new MatteBorder(2, 0, 0, 0, Color.black));

Les valeurs peuvent être modifiées en conséquence.

3
salman pk