2012-10-26 2 views
7

Die Frage ist im Titel.Wie ändert man die Farbe eines JSeparators?

Ich mache zur Zeit so etwas wie:

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

Aber der Separator seine Standardfarbe halten, so etwas wie 212.212.212.

Antwort

11

haben ’Background’ statt ’Foreground’

Logiken unterschiedlich für L & F

enter image description here

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); 
    } 
} 
+2

Ändern des Hintergrunds löst es nicht. Ich benutze Matiss, den Netbeans GUI Builder, um die Schnittstelle auf Mac zu erstellen. Vielleicht ist es eine Einschränkung des Look and Feel. – nathan

+4

Möglicherweise müssen Sie "UIManager" verwenden und "Separator.foreground" ändern. – trashgod

+4

Mit Sythetica Look and Feel musste ich den Hintergrund ändern und die undurchsichtige Eigenschaft auf true setzen. –

4

Die JSeparator hat zwei Farben sein könnte, für die ein Nimbus Look and Feel

Metal ändern Linie, eine für den Schatten. Sie können beide Einstellungen ändern, indem Sie die Farben auf Hintergrund bzw. Vordergrund setzen.

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