如何在JColorChooser中增加样本的大小?

rxx*_*rxx 2 java swing jcolorchooser

JColorChooser/Swatches中的调色板尺寸非常小,调色板周围的颜色也很相似.

为了我的使用,我需要增加它们的大小以及改变颜色变化.这该怎么做?

kle*_*tra 6

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

int length = 20;
UIManager.put("ColorChooser.swatchesRecentSwatchSize", new Dimension(length, length));
UIManager.put("ColorChooser.swatchesSwatchSize", new Dimension(length, length));
Run Code Online (Sandbox Code Playgroud)

自定义面板本身需要AbstractColorChooserPanel的DefaultSwatchChooserPanel的javx.swing.colorchooser自定义子类,主要是C&P工作(因为它是包私有).然后用您的自定义面板替换默认值,这是行

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]));
Run Code Online (Sandbox Code Playgroud)