whats the most simple way to make a JButton only show the background color? I don't need any other effects like borders, 3D-look or hover-highlighting.
Thanks in advance.
whats the most simple way to make a JButton only show the background color? I don't need any other effects like borders, 3D-look or hover-highlighting.
Thanks in advance.
I don't know if I have missed a point... But I usually do somtehing like this:
button.setBorderPainted(false);
button.setFocusPainted(false);
button.setContentAreaFilled(false);
Just set the colours and the border:
private static JButton createSimpleButton(String text) {
JButton button = new JButton(text);
button.setForeground(Color.BLACK);
button.setBackground(Color.WHITE);
Border line = new LineBorder(Color.BLACK);
Border margin = new EmptyBorder(5, 15, 5, 15);
Border compound = new CompoundBorder(line, margin);
button.setBorder(compound);
return button;
}
Use setOpaque(false);
to make the background transparent.
First, set your look and feel to something cool, like 'metal'.
try
{
for (UIManager.LookAndFeelInfo lnf :
UIManager.getInstalledLookAndFeels()) {
if ("Metal".equals(lnf.getName())) {
UIManager.setLookAndFeel(lnf.getClassName());
break;
}
}
} catch (Exception e) { /* Lazy handling this >.> */ }
Then do something like this:
my_jbutton.setBackground(new Color(240,240,241);
If the color of your button is exactly equals to swing control color (240,240,240), windows will apply windows-like button style to the button, otherwise, the button assumes a simple flat style.
You may want to use a JLabel with a MouseListener instead... unless you're tied to using a JButton or ActionListener in some way.
I think you could do it like this
JButton button = new JButton("Click Me!!");
button.setBorderPainted(false);
button.setBackground(new Color());// inside the brackets your rgb color value like 255,255,255
button.setFocusPainted(false);
you can use the color picker to get rgb code(just search color picker)