2017-10-12 108 views

回答

0

AVA UI - 應用Windows的外觀和高對比度主題

覺得這是每個L & F中的責任爲每一個通過擺動定義的ComponentUI子類的具體實現。例如,Java外觀創建一個MetalTabbedPaneUI實例,爲JTabbedPane提供L & F. UI委託的實際創建由Swing爲您處理 - 大多數情況下,您永遠不需要直接與UI委託進行交互。

剛剛嘗試之前幀/對話建立在這兩個選項開關:

AnyJavaContainers.setDefaultLookAndFeelDecorated (true); 
//For exapmle: 
JDialog.setDefaultLookAndFeelDecorated (true); 
JFrame.setDefaultLookAndFeelDecorated (true); 

組件的LAF變化之前創建可以知道它

SwingUtilities.updateComponentTreeUI(someComponent); 

的JFileChooser窗口大號& F:similar example No 1 & similar example No 2

更多How to Set the Look and Feel and How It's works -By Oracle Documentation

使用達里爾鞦韆utils的更多定製CONTROLE過的Java Swing 應用

下載達里爾鞦韆utils的,請閱讀說明,然後運行(歐陽的)的代碼,結果是選擇了JFileChooser(我對這個問題投了贊成票,如果你從我的答案中明白並批准爲正確答案)

對於前apmle

import java.awt.Color; 
import java.awt.Graphics; 
import javax.swing.*; 
import javax.swing.plaf.metal.MetalButtonUI; 

public class CrazyFileChooser { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       new CrazyFileChooser().makeUI(); 
      } 
     }); 
    } 

    public void makeUI() { 
     JFileChooser chooser = new JFileChooser(); 
     for (AbstractButton button : SwingUtils.getDescendantsOfType(AbstractButton.class, chooser)) { 
      button.setUI(new XORButtonUI()); 
     } 
     for (JList list : SwingUtils.getDescendantsOfType(JList.class, chooser)) { 
      list.setBackground(Color.PINK); 
     } 
     chooser.showOpenDialog(null); 
    } 
} 

class XORButtonUI extends MetalButtonUI { 

    @Override 
    public void paint(Graphics g, JComponent c) { 
     g.setXORMode(Color.YELLOW); 
     super.paint(g, c); 
    } 
} 
+0

我與你,但我對我的擔心品脫同意是這樣的:假設我們有一個文件選擇,我ahev在UIManager的應用於所有的顏色,但是當文件選擇器打開時,它會顯示文件內容的黑色背景,這是因爲它選擇了windows的顏色,所以有沒有辦法只選擇外觀而不選擇顏色 –

+0

@RishabhKhandelwal我更新了一些類似的答案示例和第三方庫,如果您仍然無法找到您的問題更新您的問題與您的代碼,然後我致力於您的問題,但我建議審查Java ** UIManager **類https://docs.oracle.com/javase /7/docs/api/javax/swing/UIManager.html和oracle L&F文檔 https://docs.oracle.com/javase/tutorial/displayCode.html?code=https://docs.oracle.com/javase/tutorial/uiswing/examples/lookandfeel/LookAndFeelDemoProject/src/lookandfeel/LookAndFeelDemo.java – 2017-10-13 08:05:27