Java 在JColorChooser中仅显示2个面板

Java 在JColorChooser中仅显示2个面板,java,swing,jcolorchooser,Java,Swing,Jcolorchooser,我只想显示“Swartches”和“RGB”面板 如何仅显示2个面板该API还有一个removeChooserPanel(…)方法 所以我想你可以这样做: AbstractColorChooserPanel defaultPanels[] = cc.getChooserPanels(); cc.removeChooserPanel( defaultPanels[4] ); // CMYK cc.removeChooserPanel( defaultPanels[2] ); // HSL ...

我只想显示“Swartches”和“RGB”面板


如何仅显示2个面板

该API还有一个
removeChooserPanel(…)
方法

所以我想你可以这样做:

AbstractColorChooserPanel defaultPanels[] = cc.getChooserPanels();
cc.removeChooserPanel( defaultPanels[4] ); // CMYK
cc.removeChooserPanel( defaultPanels[2] );  // HSL
...
编辑:

我不确定如何在面板中显示此修改的选择器

您需要使用JColorChooser的
createDialog(…)
方法:

JDialog dialog = JColorChooser.createDialog(
    frame.getContentPane(),
    "Choose a Color",
    true,
    cc,
    null,
    null);
dialog.setVisible(true);
System.out.println( cc.getColor() );

API还有一个
removeChooserPanel(…)
方法

所以我想你可以这样做:

AbstractColorChooserPanel defaultPanels[] = cc.getChooserPanels();
cc.removeChooserPanel( defaultPanels[4] ); // CMYK
cc.removeChooserPanel( defaultPanels[2] );  // HSL
...
编辑:

我不确定如何在面板中显示此修改的选择器

您需要使用JColorChooser的
createDialog(…)
方法:

JDialog dialog = JColorChooser.createDialog(
    frame.getContentPane(),
    "Choose a Color",
    true,
    cc,
    null,
    null);
dialog.setVisible(true);
System.out.println( cc.getColor() );

我很累,但我不能让它工作。我已经在main中编辑了代码question@user1631306,您发布的代码对我来说很好(在将来发布带有问题的代码,这样我们就不必猜测您可能尝试了什么)。当然,您实际上需要在帧中显示选择器,但一旦我这样做,我只看到“样例”和“RGB”。我在Windows7上使用JDK8。当然,我会记住这一点。我不确定如何在面板中显示此修改的选择器。我可以像“Color=cc.showDialog(框架,“选择一种颜色”,Color.blue)”这样做吗。最后一件事。我将如何使用这个修改过的JcolorChooser“cc”来显示对话框。使用“Color Color=cc.showDialog(frame,“Choose a Color”,Color.blue);”,带来了原始的颜色面板。但这不会返回我选择的颜色,就像我之前使用“showDialog”时一样,我很累,但无法使其工作。我已经在main中编辑了代码question@user1631306,您发布的代码对我来说很好(在将来发布带有问题的代码,这样我们就不必猜测您可能尝试了什么)。当然,您实际上需要在帧中显示选择器,但一旦我这样做,我只看到“样例”和“RGB”。我在Windows7上使用JDK8。当然,我会记住这一点。我不确定如何在面板中显示此修改的选择器。我可以像“Color=cc.showDialog(框架,“选择一种颜色”,Color.blue)”这样做吗。最后一件事。我将如何使用这个修改过的JcolorChooser“cc”来显示对话框。使用“Color Color=cc.showDialog(frame,“Choose a Color”,Color.blue);”,将带来原始的颜色面板。但这不会返回所选的颜色,就像我之前使用“showDialog”时一样