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:
|