java - show only 2 panels in JColorChooser -
i want display "swartches" , "rgb" panel.
import java.awt.color; import java.awt.dimension; import java.awt.flowlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jcolorchooser; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.colorchooser.abstractcolorchooserpanel; public class colorpickersample { private static final long serialversionuid = 1l; private static string hex = "#ff0033"; private static void createandshowgui() { // create , set window. final jframe frame = new jframe("centered"); // display window. frame.setsize(50, 100); frame.setvisible(true); frame.setdefaultcloseoperation(jframe.exit_on_close); // set flow layout frame frame.getcontentpane().setlayout(new flowlayout()); jbutton button = new jbutton(""); system.out.println(color.decode(hex)); button.setbackground(color.decode(hex)); button.setpreferredsize(new dimension(20, 20)); button.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent e) { jcolorchooser cc = new jcolorchooser(); abstractcolorchooserpanel defaultpanels[] = cc.getchooserpanels(); cc.removechooserpanel(defaultpanels[1]); cc.removechooserpanel(defaultpanels[2]); cc.removechooserpanel(defaultpanels[4]); // frame.getcontentpane().add(cc); //color color = cc.showdialog(frame, "choose color", color.blue); } }); frame.getcontentpane().add(button); } public static void main(string[] args) { //schedule job event-dispatching thread: //creating , showing application's gui. javax.swing.swingutilities.invokelater(new runnable() { public void run() { createandshowgui(); } }); } }
how can show 2 panels only
the api has removechooserpanel(...)
method.
so guess like:
abstractcolorchooserpanel defaultpanels[] = cc.getchooserpanels(); cc.removechooserpanel( defaultpanels[4] ); // cmyk cc.removechooserpanel( defaultpanels[2] ); // hsl ...
edit:
i not sure how display modified chooser in panel
you need use createdialog(...)
method of jcolorchooser:
jdialog dialog = jcolorchooser.createdialog( frame.getcontentpane(), "choose color", true, cc, null, null); dialog.setvisible(true); system.out.println( cc.getcolor() );
Comments
Post a Comment