Olá!
Gostaria de dicas sobre como personalizar botões no swing.
Quero fazer aqueles botões, de diversos formatos, etc, etc…
Alguém tem algum link, artigo, alguma recomendação?!
grata :lol:
Olá!
Gostaria de dicas sobre como personalizar botões no swing.
Quero fazer aqueles botões, de diversos formatos, etc, etc…
Alguém tem algum link, artigo, alguma recomendação?!
grata :lol:
Olá
Renata, é só sobrescrever o método paintComponent, não invocando a versão da super classe.
Exemplo:
[code]
import java.awt.;
import java.awt.geom.;
import javax.swing.*;
/**
*
@author David
*/
public class MeuBotao extends JButton {
public MeuBotao() {
// remove a borda
setBorder( null );
}
protected void paintComponent( Graphics g ) {
// não invoque super.paintComponent( g )
// obtém o Graphics2D
Graphics2D g2d = ( Graphics2D ) g;
// faz os desenhos desejados...
g2d.draw( new Ellipse2D.Double( 2, 2, 10, 10 ) );
}
}[/code]
É claro que esse exemplo precisa ser melhorado, faltam vários detalhes, como por exemplo quando o mouse está sobre o componente, mas o caminho é este.
Tem como você fazer a mesma coisa de outras formas, por exemplo usando o método getGraphics e JComponent… Dá uma olhada na API.
Até mais!
Você também pode ter um icon para cada estado
setIcon
setPressedIcon
etc…
Com isso pode rapida e facilmente criar uns botões fixes, sem mexer no paint(…)
Melhor ainda se você for bom em desenho, pode criar uns botões bonitos no Gimp, Inkscape, Photoshop e etc…
Voce tambem pode modificar criando seu proprio Look And Feel para seu botao e para outros componentes seu
A Revista Java Magazine saiu um artigo sobre isso se eu achar o link posto aqui