Reputation: 1044
I want to create rounded JButton in Java...
For that I use rounded image and placed that image on button but I didn't get rounded button..
please any one can tell how to create rounded button in Java like show in below figure..
thanks in advance.....
Upvotes: 4
Views: 19496
Reputation: 44240
If you're just going to use an image of a round button, then why not just use a JLabel
? That is, simply invoke setIcon(...)
, passing your BufferedImage
instance as an argument.
public final class RoundedButtonDemo {
private static BufferedImage bi;
public static void main(String[] args){
try {
loadImage();
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
createAndShowGUI();
}
});
} catch (IOException e) {
// handle exception
}
}
private static void loadImage() throws IOException{
bi = ImageIO.read(RoundedButtonDemo.class.getResource("../resources/login.png"));
}
private static void createAndShowGUI(){
final JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel();
label.setIcon(new ImageIcon(bi));
frame.getContentPane().add(label);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Keep in mind that you'll need to either programmatically make the background of your image transparent, or you'll need to use an image editing tool like Paint.NET.
Upvotes: 6
Reputation: 328624
You need to write a "Look and Feel" (a theme for Java Swing). Not for the faint of heart but possible. I suggest to look at an existing theme.
LIQUIDLNF should be a good start.
Upvotes: 2
Reputation: 2874
You can use JavaFX to define "Rich Graphic Components" example (rounded button with gradient): http://poligloci.blogspot.com/2009/07/beauty-and-beast-javafx-12-in-netbeans.html
Upvotes: 1