2013-04-30 4 views
1

예 :Nimbus 속성을 재정의 할 수 없습니다.

UIDefaults defaults = UIManager.getLookAndFeelDefaults(); 
defaults.put("text",Color.GREEN);` 

텍스트는 여전히 검은 색이지만 이유는 무엇입니까? "text"가 유효한 이름이 아닌, 어떤 구성 요소가 defaults 인스턴스를 볼 수 있습니다 작동하지 어떻게 UI 기본값입니다

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


public class test999 extends JFrame { 
    private JLabel jLabel1 = new JLabel(); 

    public test999(String title) { 
    super(title); 
    try { 
     for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { 
     if ("Nimbus".equals(info.getName())) { 
      UIManager.setLookAndFeel(info.getClassName()); 
      UIDefaults defaults = new UIDefaults(); 
      defaults.put("text",new Color(255,0,0)); 
      break; 
     } 
     } 
    } catch (Exception e) { 
     // If Nimbus is not available, you can set the GUI to another look and feel. 
    } 
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
    int frameWidth = 300; 
    int frameHeight = 300; 
    setSize(frameWidth, frameHeight); 
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
    int x = (d.width - getSize().width)/2; 
    int y = (d.height - getSize().height)/2; 
    setLocation(x, y); 
    setResizable(false); 
    Container cp = getContentPane(); 
    cp.setLayout(null); 

    jLabel1.setBounds(72, 72, 147, 57); 
    jLabel1.setText("text"); 
    cp.add(jLabel1); 

    setVisible(true); 
    } 
    public static void main(String[] args) { 
    new test999("test999"); 
    } 
} 

답변

1

. 대신 시도해보십시오.

jLabel1.setForeground(Color.red); 

또한 setBounds()을 사용하지 마십시오. 적합한 layout manager을 사용하십시오.

부록 : 표시된대로 here, "text"은 유효한 기본 색상 키이며 구성 요소 키가 아닙니다.

... 원하는 기능 ... 후광 기본값을 무시합니다. 대부분의 L &에

는 F의 당신은 "Label.foreground" 키를 지정할 수 있습니다 후광에

UIManager.put("Label.foreground", Color.red); 

당신이해야 할 this :

UIManager.put("text", Color.red); 
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 
+0

내가 글꼴/텍스트 색상을 설정하지 않으 한 구성 요소 당 한 행으로 모든 구성 요소가 있지만 후광 기본값을 무시합니다. http://stackoverflow.com/a/2576230/753676 텍스트 만 표시하며 진행률 표시 줄은 표시되지 않습니다. –

+0

나는 정교합니다. 위의 ed. – trashgod

+0

이 내 초기 게시물의 default.put ...과 동일하지 않습니까? –

관련 문제