gpt4 book ai didi

java - JFileChooser 中的 UIManager 颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:17 26 4
gpt4 key购买 nike

我使用的是 Nimbus Look and Feel,它的颜色只有 3 处变化:

UIManager.put("nimbusSelection", new Color(164,164,164));
UIManager.put("nimbusSelectionBackground", new Color(214,217,223));
UIManager.put("nimbusSelectedText", Color.BLACK);

我的 FileChooser 看起来像这样:

enter image description here

因此,所选文件的名称显示为白色且看起来很糟糕,而且在组合框中选择的文件类型也会发生这种情况。我想将其更改为黑色,但 nimbusSelectedText 已经是黑色并且无法正常工作。

我还查看了 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html#primary 上的 Nimbus Defaults 指南。我在 FileChooser 或 Combobox 中看不到任何参数来解决这个问题。

对识别必要参数有什么帮助吗?谢谢

最佳答案

JFileChooser是化合物JComponent ,您可以提取 JButtonsJToggleButtonsJScrollPane with JViewPort that contains JList ,请下载 Darryl 的 Swing Utils ,阅读描述,然后运行(Darryl 的)代码,结果是选择 JList 或 JTable(我对此投票)

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

关于java - JFileChooser 中的 UIManager 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com