Se ti sembra esagerato, vatti a vedere il sorgente della BorderFactory...Originariamente inviato da Caturzlo
mmmm....mi sembra un po esagerato per fare un semplice bordo a rilievo
Probabilmente l'effetto che si ottiene con la BorderFactory non era esattamente quello che volevo ottenere io... tra l'altro, l'immagine del pulsante non ha nulla a che vedere con il borde (rileggiti la documentazione)...tra l'altro, da quanto leggo nel tuo codice, non hai applicato nessuna immagine di sfondo...probabilmente avresti potuto usare il metodo "button.setBorder(BorderFactory.createRaisedBevelB order());"...questo metodo crea da solo un bordo rialzato solo che gli assegna il colore di sfondo che ha il pannello (e non l'immagine che ho messo io bensi cio che ho impostato alla stringa this.setBackground(Color.bg))...
Anche qui, l'immagine di sfondo non c'entra nulla col bordo...Ora spulciando le classi di java ho trovato un metodo che farebbe al caso mio..
button.setBorder(BorderFactory.createBevelBorder(t ype, highlight, shadow) questo metodo e' simile al precedente ma ha piu parametri interessanti!!
type = intero che specifica lo spessore del bordo
highlight = accetta tipi di colore per la parte superiore sinistra del bordo
shadow = accetta tipi di colore per la parte inferiore destra del bordo
Domanda...sara' possibile passargli al posto di un colore l'immagine che ho impostato come sfondo??
Non ho parole... Ovvio che no! Sono due cose diverse...Domanda...nel caso la precedente fosse negativa sarebbe possibile fare un casting ed assegnare ad una variabile di tipo Color un Immagine??
Ma la documentazione della classe JButton fa così schifo? Mai visto il metodo setIcon()?Domanda...nel caso entrambe fossero negative sarebbe possibile assegnare un immagine al Background?? (intendo con setBackground o roba del genere)
Infatti io ho detto che era possibile personalizzarla, ma bisogna studiare un pochino per sapere come modificarla...P.S. riflettendo sul codice che mi hai postato ho anche tentato di fare Color sfondo = getBackgroundColor(this)/ getColor()/getColor(this)...ma mi ritorna sempre il colore monocromatico che imposto nel costruttore con setBackground()..
Certo, ma se documentarsi è così difficile...Possibile che con tutte queste guide sul webdesign nessuno sappia risolvere (in maniera ottimale) questo semplice problema??
Ma non c'è di che...Ti ringrazio comunque lele per il tuo intervento
PS: Il codice che ti ho postato è una piccola parte della mia tesi di laurea... credi che se ci fosse stato qualcosa di già pronto all'uso mi sarei fatto un mazzo tale?
Certa gente proprio non la capisco...
Ciao.![]()