Olah jean,
peguei um dos exemplos enviados pelos colegas javaneses e dei uma
modificada..... pelo menos achei q ficou legal, quem quiser :)

                       import java.awt.event.*;
                           import java.awt.geom.*;
                       import javax.swing.*;
                       import java.awt.*;
                          /*
                                                  Eder Luis Jorge
                                                  29/05/2001
                                                  [EMAIL PROTECTED]
                                                  */
                       public class BotaoRedondo extends JFrame{
                          public BotaoRedondo() 
                                                  {
                             getContentPane().setLayout(new
FlowLayout());
                        
                             RoundButton rbutton = new
RoundButton("Botao redondo  0", 0);
                                                         rbutton.setBackground(new 
Color(150,150,255));
                                                         rbutton.setForeground(new 
Color(100,100,255));

                                                         getContentPane().add(rbutton);
                                                         getContentPane().add(new 
RoundButton("Botao redondo .1", .1));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .2", .2));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .3", .3));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .4", .4));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .5", .5));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .6", .6));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .7", .7));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .8", .8));
                                                         getContentPane().add(new 
RoundButton("Botao redondo .9", .9));
                                                         getContentPane().add(new 
RoundButton("Botao redondo  1", 1));
                                                         getContentPane().add(new 
JButton("Botao JButton"));

                                                         addWindowListener(new 
WindowAdapter() 
                                                                        {
                                                                                public 
void windowClosing(WindowEvent event) 
                                                                                {
                                                                                       
 System.exit(0);   
                                                                                }      
                                                                        }
                                                                );
                        
                             setSize(120, 500);
                          }
                        
                          public static void main(String[] args) {
                             new BotaoRedondo().show();
                          }
                       }
                        




                                                /*
                                                Classe RoundButton que contem as 
caracteristica do botao
                                                */      
                       class RoundButton extends JButton

                                           {
                          // for mouse detection purposes
                          Shape shape;
                                                  String titulo;
                                                  double canto = 0.0;
                                                  Graphics2D g2d;
                                                  FontMetrics tamString;

                                                  /*
                                                        Os parametros do construtor 
sao:
                                                    titulo do botao e,
                                                    curvatura do canto
                                                  */
                          public RoundButton(String label, double
pCanto) {
                             super(label);
                                                         titulo = label;
                                                         canto = pCanto;
                                                         
                                                         // retira o formato padrao do 
botao
                             setContentAreaFilled(false);
                                                         
                          }
                        
                          protected void paintComponent(Graphics g) {
                                                        
                                                        /*
                                                                Cria uma instancia da 
classe Graphics2D
                                                                para aumentar a 
largura da caneta
                                                        */
                                                        g2d = ( Graphics2D ) g;
                                                        g2d.setStroke( new 
BasicStroke(2.0f) ); 

                                                        // Pega o tamanho em pixels da 
largura do titulo
                                                        tamString = g.getFontMetrics();

                             if (getModel().isPressed())
                                                         { // Qdo o botao estiver 
pressionado
                                                                
g.setColor(Color.black);
                                                                g.drawRoundRect(2, 2, 
getSize().width-4,
getSize().height-4,(int)(getSize().width * canto),(int)(getSize().height
* canto));
                                                                
g.setColor(Color.lightGray);
                                                                g.drawRoundRect(1, 1, 
getSize().width-3,
getSize().height-3,(int)(getSize().width * canto),(int)(getSize().height
* canto));
                                                                g.setColor( 
getForeground() );
                                                                g.drawString( 
getText(),
(getWidth()-tamString.stringWidth(getText()))/2 + 1, getHeight() / 2 + 6
);
                             }
                                                         else
                                                     { // Qdo o botao nao estiver 
pressionado
                                                                if 
(getModel().isArmed()) { // Mouse sobre o botao
                                                                        
g.setColor(getBackground());
                                                                        
g.drawRoundRect(1, 1, getSize().width-2,
getSize().height-2,(int)(getSize().width * canto),(int)(getSize().height
* canto));
                                                                } 
                                                                
g.setColor(Color.black);
                                                                g.drawRoundRect(1, 1, 
getSize().width-3,
getSize().height-3,(int)(getSize().width * canto),(int)(getSize().height
* canto));
                                                                
g.setColor(Color.lightGray);
                                                                g.drawRoundRect(1, 1, 
getSize().width-4,
getSize().height-4,(int)(getSize().width * canto),(int)(getSize().height
* canto));
                                                                g.setColor( 
getForeground() );
                                                                g.drawString( 
getText(),
(getWidth()-tamString.stringWidth(getText()))/2, getHeight() / 2 + 5 );
                                                         }

                             //super.paintComponent(g);
                                                         // Caso nao queira escrever a 
string no botao, descomentar a
linha acima
                          }
                        

                                                        /*
                                                                Evento para 
polimorfismo da borda padrao do botao
                                                                caso deseje fazer um 
grafico fixo, faze-lo aqui
                                                        */
                                                  protected void paintBorder(Graphics 
g) {

                                                  }
                        
                                                        /* Retorna a area util do 
botao, definindo onde o 
                                                           usuario podera clicar, 
moder o mouse, etc...
                                                        */
                          public boolean contains(int x, int y) {
                             if (shape == null ||
!shape.getBounds().equals(getBounds())) {
                                shape = new RoundRectangle2D.Float(0, 0,
getWidth(), getHeight(),5,5);
                             }
                        
                             return shape.contains(x, y);
                          }
                       }


[]s, Eder

JEAN BARROS wrote:
> 
> Ola!
> 
> Soh por curiosidade, alguem tem algum exemplo de botao redondo, ou outra forma
> nao "comum" em Swing?
> 
> Abracos
> Jean Fabio
> 
> ____________________________________________________________________
> Get free email and a permanent address at http://www.netaddress.com/?N=1
> 
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a