如何改变一个JSeparator对象的颜色?(How to change the color of

2019-08-01 23:58发布

现在的问题是在标题。

目前,我正在做这样的事情:

jSperator = new JSeparator();
jSeparator1.setForeground(new java.awt.Color(255, 51, 51));

但分离保住自己默认的颜色,有点像212212212。

Answer 1:

必须改变'Background' ,而不是'Foreground'

逻辑可能是不同Nimbus Look and Feel

金属L&F

import javax.swing.*;
import java.awt.*;

public class GridBagSeparator1 {

    public static void main(String[] args) {
        JFrame frame = new JFrame("Laying Out Components in a Grid");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JSeparator sep = new JSeparator(SwingConstants.HORIZONTAL);
        sep.setBackground(Color.black);
        JSeparator sep1 = new JSeparator(SwingConstants.HORIZONTAL);
        sep1.setBackground(Color.blue);
        JSeparator sep2 = new JSeparator(SwingConstants.HORIZONTAL);
        sep2.setBackground(Color.green);
        JSeparator sep3 = new JSeparator(SwingConstants.HORIZONTAL);
        sep3.setBackground(Color.red);

        frame.setLayout(new GridLayout(4, 0));
        frame.add(sep);
        frame.add(sep1);
        frame.add(sep2);
        frame.add(sep3);
        frame.pack();
        frame.setVisible(true);
    }
}


Answer 2:

所述具有JSeparator的2个色,一个用于线,一个用于阴影。 您可以更改,分别设置颜色的背景与前景。

JSeparator sep = new JSeparator();
sep.setForeground(Color.green); // top line color
sep.setBackground(Color.green.brighter()); // bottom line color


文章来源: How to change the color of a JSeparator?