so come creare confini utilizzando BorderFactory
ma io non vedo nulla che mi permette di specificare quali parti che voglio il confine: SÈ possibile avere un bordo swing java solo sul lato superiore?
risposta
Da Sun tutorial:
L'immagine seguente mostra alcuni bordi opachi . Quando si crea un bordo opaco, si specifica quanti pixel esso occupa occupa in alto, a sinistra, in basso e a destra di un componente. .
http://java.sun.com/docs/books/tutorial/figures/uiswing/components/BorderDemo2.png
opaco e bordo vuoto consentono di specificare le dimensioni su ogni lato, che può essere zero.
L'interfaccia Border
è piuttosto semplice da implementare se si desidera un aspetto personalizzato. Immagino che ci possano essere librerie di terze parti disponibili contenenti stili non inclusi nella libreria Java.
È possibile utilizzare MatteBorder per specificare le dimensioni del bordo su ciascun lato. La contructor di MatteBorder è:
public MatteBorder(int top,
int left,
int bottom,
int right,
Color matteColor)
Quindi, se si vuole avere un bordo solo sulla parte inferiore e destro lati delle JPanel, si potrebbe scrivere qualcosa di simile:
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 1, Color.BLACK));
C'è un modo semplice per ottenere il MatteBorder utilizzare smussatura arrotondamento stile per gli angoli? Ho bisogno di usare il bordo opaco per controllare i lati dell'elemento che sono resi, ma sono bloccato con angoli quadrati. ;-( – emeraldjava
Più 1 per fornire effettivamente il codice. Questa dovrebbe essere la risposta accettata! –