質問はタイトルにあります。JSeparatorの色を変更するには?
私は現在のようなものをやっている:
jSperator = new JSeparator();
jSeparator1.setForeground(new java.awt.Color(255, 51, 51));
しかし、セパレータは、彼のデフォルトの色、212212212のようなものを維持します。
質問はタイトルにあります。JSeparatorの色を変更するには?
私は現在のようなものをやっている:
jSperator = new JSeparator();
jSeparator1.setForeground(new java.awt.Color(255, 51, 51));
しかし、セパレータは、彼のデフォルトの色、212212212のようなものを維持します。
代わり’Foreground’
論理がNimbus Look and Feel
金属Lのために異なるかもしれない& Fの’Background’
を変更する必要が
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色、のための1つを有していますライン、シャドウのライン。 両方を変更して、色をそれぞれ背景と前景に設定することができます。
JSeparator sep = new JSeparator();
sep.setForeground(Color.green); // top line color
sep.setBackground(Color.green.brighter()); // bottom line color
バックグラウンドを変更しても問題が解決されません。私はMac上でインターフェイスを構築するために、NetbeansのGUIビルダーMatissを使用しています。おそらく、それはルック・アンド・フィールの制限です。 – nathan
'UIManager'を使用し、' Separator.foreground'を変更する必要があります – trashgod
Sythetica Look and Feelでは、背景を変更し、不透明なプロパティをtrueに設定する必要がありました。 –