如何更改JSeparator的颜色?

问题出在标题中。

我目前正在做类似的事情:

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

但分隔符保持默认颜色,如212,212,212。

必须改变'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); } } 

JSeparator有2种颜色,一种用于线条,一种用于阴影。 您可以分别更改两者,将颜色设置为背景和前景。

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