java - 如何在 JColorChooser 中增加色板的大小?

标签 java swing jcolorchooser

JColorChooser/Swatches 中的调色板尺寸非常小,而且调色板周围的颜色看起来也很相似。

为了我的使用,我需要增加它们的尺寸以及改变颜色变化。如何做到这一点?

最佳答案

“样本”的大小由两个 UI 属性控制,因此您可以根据需要进行调整(默认值为 10):

int length = 20;
UIManager.put("ColorChooser.swatchesRecentSwatchSize", new Dimension(length, length));
UIManager.put("ColorChooser.swatchesSwatchSize", new Dimension(length, length));

自定义调色板本身需要 AbstractColorChooserPanel 的自定义子类,主要是 javx.swing.colorchooser 中 DefaultSwatchChooserPanel 的 c&p 工作(因为它是包私有(private)的)。然后用您的自定义面板替换默认值,类似

JColorChooser chooser = new JColorChooser();
List<AbstractColorChooserPanel> choosers = 
        new ArrayList<>(Arrays.asList(chooser.getChooserPanels()));
choosers.remove(0);
MySwatchChooserPanel swatch = new MySwatchChooserPanel();
choosers.add(0, swatch);
chooser.setChooserPanels(choosers.toArray(new AbstractColorChooserPanel[0]));

关于java - 如何在 JColorChooser 中增加色板的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18571604/

相关文章:

java - 循环遍历List android

Java Double setScale 和 RoundingMode 在 C# 中等效吗?

java - 通过单击 JMenu 项目来选择颜色

java - 如何查看 JColorChooser 中的按钮是否被选择以及如何将其分配给不同窗口中的文本?(Java)

java - 如何正确比较 Java 中的两个整数?

JavaFX Tableview 限制点后位数

java - 从 JTable 到直方图 - Swing

java - 子窗口关闭后 UI 卡住,直到第一次单击

java - Swing 的 JPanel 不是很像 AWT 的面板吗?前者的小部件未显示

java - 是否可以在 JTextField 上为文本加下划线?如果可以,怎么做?