English 中文(简体)
Howto make JButton with simple flat style?
原标题:

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.

How about

yourButton.setBorder(null);

?

You may want to use a JLabel with a MouseListener instead... unless you re tied to using a JButton or ActionListener in some way.

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.

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)





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签