The Artima Developer Community
Sponsored Link

Legacy Java Answers Forum
August 2000

Advertisement

Advertisement

This page contains an archived post to the Java Answers Forum made prior to February 25, 2002. If you wish to participate in discussions, please visit the new Artima Forums.

Message:

RE:Rounded Border

Posted by Kishori Sharan on August 17, 2000 at 1:24 PM

Hi Girish
You can have a rounded edge border for a button using SoftBevelBorder class . The syntax will be
your_button.setBorder ( new SoftBevelBorder ( BevelBorder.RAISED ) );
It does give a rounded edge border, but can be noticed only when you look at it carefully.If you are not satisfied with this then you can also create your own border. I have created a custom border KSoftBorder in the following example just to show you how to create a custom border. If you need a new one you can create own fancy borders...
Thanx
Kishori
/////////// ButonBorder.java////////////////////

import java.awt.event.*;
import java.awt.* ;
import javax.swing.*;
import javax.swing.border.* ;

class KSoftBorder extends AbstractBorder {
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
g.setColor ( c.getForeground() ) ;
g.drawRoundRect ( x , y , width , height , 2, 2) ;

}
public Insets getBorderInsets ( ) {
return new Insets ( 0,0,0,0) ;
}

}

class BFrame extends JFrame {
public BFrame ( ) {
setTitle ( "GUI Frame" );
setSize ( 300, 300 ) ;
addWindowListener ( new WindowAdapter ( ) {
public void windowClosing ( WindowEvent e ) {
System.exit ( 0 ) ;
} } ) ;

JPanel panel = new JPanel ( );

JButton raisedBevel = new JButton ( "Raised Border" ) ;
raisedBevel.setBorder ( BorderFactory.createBevelBorder ( BevelBorder.RAISED ) ) ;
panel.add ( raisedBevel ) ;

JButton roundBorder = new JButton ( "Compound Border" ) ;
Border br1 = new KSoftBorder ( ) ;
Border br2 = BorderFactory.createBevelBorder ( BevelBorder.RAISED );
Border br3 = BorderFactory.createCompoundBorder ( br2, br1 ) ;
roundBorder.setBorder ( br3 ) ;
panel.add ( roundBorder ) ;

JButton softBorder = new JButton ( "Rounded Border" ) ;
softBorder.setBorder ( new SoftBevelBorder ( BevelBorder.RAISED ) ) ;
panel.add ( softBorder ) ;

JButton plainBorder = new JButton ( "Plain Rounded Border" ) ;
plainBorder.setBorder ( new KSoftBorder ( ) ) ;
panel.add ( plainBorder ) ;


getContentPane().add ( panel ) ;
}
}

public class ButtonBorder {
public static void main ( String[] args ) {
BFrame f = new BFrame ( );
f.show ( );
}
}



Replies:

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2009 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us