最简单的方法是让JButton只显示背景颜色?我不需要任何其他效果,如边框,3D外观或悬停突出显示。
提前致谢。
答案 0 :(得分:24)
我不知道我是否错过了一个观点...... 但我通常会这样做:
button.setBorderPainted(false);
button.setFocusPainted(false);
button.setContentAreaFilled(false);
答案 1 :(得分:13)
只需设置颜色和边框:
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;
}
使用setOpaque(false);
使背景透明。
答案 2 :(得分:2)
怎么样
yourButton.setBorder(null);
答案 3 :(得分:1)
您可能希望使用带有MouseListener的JLabel ...除非您以某种方式使用JButton或ActionListener。
答案 4 :(得分:0)
首先,将你的外观和感觉设置为酷炫的东西,比如'金属'。
try
{
for (UIManager.LookAndFeelInfo lnf :
UIManager.getInstalledLookAndFeels()) {
if ("Metal".equals(lnf.getName())) {
UIManager.setLookAndFeel(lnf.getClassName());
break;
}
}
} catch (Exception e) { /* Lazy handling this >.> */ }
然后做这样的事情:
my_jbutton.setBackground(new Color(240,240,241);
如果按钮的颜色与旋转控件颜色(240,240,240)完全相同,则窗口会对按钮应用类似窗口的按钮样式,否则按钮会呈现简单的平面样式。
答案 5 :(得分:0)
我觉得你可以这样做
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);
您可以使用颜色选择器获取 rgb 代码(只需搜索颜色选择器)