document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-52763\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"kn\">package<\/span> <span class=\"n\">ilist<\/span><span class=\"o\">.<\/span><span class=\"na\">ui<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC2\">&nbsp;<\/div><div class=\"line\" id=\"LC3\">&nbsp;<\/div><div class=\"line\" id=\"LC4\"><span class=\"kn\">import<\/span> <span class=\"nn\">ilist.ui.generic.components.TransparentPanel<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC5\">&nbsp;<\/div><div class=\"line\" id=\"LC6\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.BorderLayout<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC7\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.Color<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC8\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.Component<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC9\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.Dimension<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC10\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.Frame<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC11\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.Point<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC12\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.awt.event.MouseEvent<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC13\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.beans.PropertyChangeEvent<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC14\"><span class=\"kn\">import<\/span> <span class=\"nn\">java.beans.PropertyChangeListener<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC15\">&nbsp;<\/div><div class=\"line\" id=\"LC16\"><span class=\"kn\">import<\/span> <span class=\"nn\">javax.swing.Box<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC17\"><span class=\"kn\">import<\/span> <span class=\"nn\">javax.swing.JComponent<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC18\"><span class=\"kn\">import<\/span> <span class=\"nn\">javax.swing.JPanel<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC19\"><span class=\"kn\">import<\/span> <span class=\"nn\">javax.swing.SwingUtilities<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC20\"><span class=\"kn\">import<\/span> <span class=\"nn\">javax.swing.border.EmptyBorder<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC21\">&nbsp;<\/div><div class=\"line\" id=\"LC22\"><span class=\"kn\">import<\/span> <span class=\"nn\">org.jdesktop.jxlayer.JXLayer<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC23\"><span class=\"kn\">import<\/span> <span class=\"nn\">org.jdesktop.jxlayer.plaf.ext.LockableUI<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC24\">&nbsp;<\/div><div class=\"line\" id=\"LC25\"><span class=\"kn\">import<\/span> <span class=\"nn\">com.bric.swing.ColorPicker<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;<\/div><div class=\"line\" id=\"LC27\"><span class=\"cm\">/**<\/span><\/div><div class=\"line\" id=\"LC28\"><span class=\"cm\"> * a popup with a color wheel which allow to change the color of part of the main frame<\/span><\/div><div class=\"line\" id=\"LC29\"><span class=\"cm\"> * @author Christophe Le Besnerais<\/span><\/div><div class=\"line\" id=\"LC30\"><span class=\"cm\"> * {@link http://swing-fx.blogspot.com/2009/01/jrating-jtagcloud-and-gui-colorization.html}<\/span><\/div><div class=\"line\" id=\"LC31\"><span class=\"cm\"> */<\/span><\/div><div class=\"line\" id=\"LC32\"><span class=\"nd\">@SuppressWarnings<\/span><span class=\"o\">(<\/span><span class=\"s\">&quot;serial&quot;<\/span><span class=\"o\">)<\/span><\/div><div class=\"line\" id=\"LC33\"><span class=\"kd\">public<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">UIColorChooserPanel<\/span> <span class=\"kd\">extends<\/span> <span class=\"n\">TransparentPanel<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC34\">&nbsp;<\/div><div class=\"line\" id=\"LC35\">&nbsp;<span class=\"c1\">// the selected color :<\/span><\/div><div class=\"line\" id=\"LC36\">&nbsp;<span class=\"kd\">private<\/span> <span class=\"n\">Color<\/span> <span class=\"n\">color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Color<\/span><span class=\"o\">.<\/span><span class=\"na\">RED<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC37\">&nbsp;<\/div><div class=\"line\" id=\"LC38\">&nbsp;<\/div><div class=\"line\" id=\"LC39\">&nbsp;<span class=\"kd\">public<\/span> <span class=\"nf\">UIColorChooserPanel<\/span><span class=\"o\">(<\/span><span class=\"n\">Frame<\/span> <span class=\"n\">owner<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC40\">&nbsp;&nbsp;<span class=\"kd\">super<\/span><span class=\"o\">(<\/span><span class=\"n\">owner<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC41\">&nbsp;<\/div><div class=\"line\" id=\"LC42\">&nbsp;&nbsp;<span class=\"k\">this<\/span><span class=\"o\">.<\/span><span class=\"na\">setSize<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">Dimension<\/span><span class=\"o\">(<\/span><span class=\"mi\">230<\/span><span class=\"o\">,<\/span> <span class=\"mi\">250<\/span><span class=\"o\">));<\/span><\/div><div class=\"line\" id=\"LC43\">&nbsp;&nbsp;<span class=\"k\">this<\/span><span class=\"o\">.<\/span><span class=\"na\">setTitle<\/span><span class=\"o\">(<\/span><span class=\"s\">&quot;Edit item&quot;<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC44\">&nbsp;<\/div><div class=\"line\" id=\"LC45\">&nbsp;&nbsp;<span class=\"n\">JPanel<\/span> <span class=\"n\">panel<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">JPanel<\/span><span class=\"o\">(<\/span><span class=\"kc\">true<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC46\">&nbsp;&nbsp;<span class=\"n\">panel<\/span><span class=\"o\">.<\/span><span class=\"na\">setOpaque<\/span><span class=\"o\">(<\/span><span class=\"kc\">false<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC47\">&nbsp;&nbsp;<span class=\"n\">panel<\/span><span class=\"o\">.<\/span><span class=\"na\">add<\/span><span class=\"o\">(<\/span><span class=\"n\">Box<\/span><span class=\"o\">.<\/span><span class=\"na\">createRigidArea<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">Dimension<\/span><span class=\"o\">(<\/span><span class=\"mi\">150<\/span><span class=\"o\">,<\/span> <span class=\"mi\">5<\/span><span class=\"o\">)));<\/span><\/div><div class=\"line\" id=\"LC48\">&nbsp;<\/div><div class=\"line\" id=\"LC49\">&nbsp;&nbsp;<span class=\"kd\">final<\/span> <span class=\"n\">ColorPicker<\/span> <span class=\"n\">colorPicker<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">ColorPicker<\/span><span class=\"o\">(<\/span><span class=\"kc\">false<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC50\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">setBorder<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">EmptyBorder<\/span><span class=\"o\">(<\/span><span class=\"mi\">0<\/span><span class=\"o\">,<\/span> <span class=\"mi\">0<\/span><span class=\"o\">,<\/span> <span class=\"mi\">0<\/span><span class=\"o\">,<\/span><span class=\"mi\">0<\/span><span class=\"o\">));<\/span><\/div><div class=\"line\" id=\"LC51\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getColorPanel<\/span><span class=\"o\">().<\/span><span class=\"na\">setBorder<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">EmptyBorder<\/span><span class=\"o\">(<\/span><span class=\"mi\">0<\/span><span class=\"o\">,<\/span> <span class=\"mi\">0<\/span><span class=\"o\">,<\/span> <span class=\"mi\">0<\/span><span class=\"o\">,<\/span><span class=\"mi\">0<\/span><span class=\"o\">));<\/span><\/div><div class=\"line\" id=\"LC52\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">setOpaque<\/span><span class=\"o\">(<\/span><span class=\"kc\">false<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC53\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getColorPanel<\/span><span class=\"o\">().<\/span><span class=\"na\">setOpaque<\/span><span class=\"o\">(<\/span><span class=\"kc\">false<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC54\">&nbsp;&nbsp;<span class=\"o\">((<\/span><span class=\"n\">JComponent<\/span><span class=\"o\">)<\/span> <span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getComponents<\/span><span class=\"o\">()[<\/span><span class=\"mi\">1<\/span><span class=\"o\">]).<\/span><span class=\"na\">setOpaque<\/span><span class=\"o\">(<\/span><span class=\"kc\">false<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC55\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getColorPanel<\/span><span class=\"o\">().<\/span><span class=\"na\">setRGB<\/span><span class=\"o\">(<\/span><span class=\"n\">color<\/span><span class=\"o\">.<\/span><span class=\"na\">getRed<\/span><span class=\"o\">(),<\/span> <span class=\"n\">color<\/span><span class=\"o\">.<\/span><span class=\"na\">getGreen<\/span><span class=\"o\">(),<\/span> <span class=\"n\">color<\/span><span class=\"o\">.<\/span><span class=\"na\">getBlue<\/span><span class=\"o\">());<\/span><\/div><div class=\"line\" id=\"LC56\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">setPreferredSize<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">Dimension<\/span><span class=\"o\">(<\/span><span class=\"mi\">190<\/span><span class=\"o\">,<\/span> <span class=\"mi\">150<\/span><span class=\"o\">));<\/span><\/div><div class=\"line\" id=\"LC57\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">addPropertyChangeListener<\/span><span class=\"o\">(<\/span><span class=\"n\">ColorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">SELECTED_COLOR_PROPERTY<\/span><span class=\"o\">,<\/span> <span class=\"k\">new<\/span> <span class=\"n\">PropertyChangeListener<\/span><span class=\"o\">()<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC58\">&nbsp;&nbsp;&nbsp;<span class=\"kd\">public<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">propertyChange<\/span><span class=\"o\">(<\/span><span class=\"n\">PropertyChangeEvent<\/span> <span class=\"n\">e<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC59\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"o\">(<\/span><span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getColor<\/span><span class=\"o\">()<\/span> <span class=\"o\">!=<\/span> <span class=\"kc\">null<\/span><span class=\"o\">)<\/span><\/div><div class=\"line\" id=\"LC60\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">getColor<\/span><span class=\"o\">();<\/span><\/div><div class=\"line\" id=\"LC61\">&nbsp;&nbsp;&nbsp;<span class=\"o\">}<\/span>  <\/div><div class=\"line\" id=\"LC62\">&nbsp;&nbsp;<span class=\"o\">});<\/span><\/div><div class=\"line\" id=\"LC63\">&nbsp;&nbsp;<span class=\"n\">colorPicker<\/span><span class=\"o\">.<\/span><span class=\"na\">setAlignmentX<\/span><span class=\"o\">(<\/span><span class=\"n\">Component<\/span><span class=\"o\">.<\/span><span class=\"na\">CENTER_ALIGNMENT<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC64\">&nbsp;&nbsp;<span class=\"n\">panel<\/span><span class=\"o\">.<\/span><span class=\"na\">add<\/span><span class=\"o\">(<\/span><span class=\"n\">colorPicker<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC65\">&nbsp;<\/div><div class=\"line\" id=\"LC66\">&nbsp;&nbsp;<span class=\"n\">getContent<\/span><span class=\"o\">().<\/span><span class=\"na\">add<\/span><span class=\"o\">(<\/span><span class=\"n\">panel<\/span><span class=\"o\">,<\/span> <span class=\"n\">BorderLayout<\/span><span class=\"o\">.<\/span><span class=\"na\">CENTER<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC67\">&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC68\">&nbsp;<\/div><div class=\"line\" id=\"LC69\">&nbsp;<span class=\"nd\">@Override<\/span><\/div><div class=\"line\" id=\"LC70\">&nbsp;<span class=\"kd\">public<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">setVisible<\/span><span class=\"o\">(<\/span><span class=\"kt\">boolean<\/span> <span class=\"n\">visible<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC71\">&nbsp;&nbsp;<span class=\"kd\">super<\/span><span class=\"o\">.<\/span><span class=\"na\">setVisible<\/span><span class=\"o\">(<\/span><span class=\"n\">visible<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC72\">&nbsp;<\/div><div class=\"line\" id=\"LC73\">&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"o\">(<\/span><span class=\"n\">visible<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC74\">&nbsp;&nbsp;&nbsp;<span class=\"c1\">// when this popup is show, create a layer which block user interaction<\/span><\/div><div class=\"line\" id=\"LC75\">&nbsp;&nbsp;&nbsp;<span class=\"c1\">// on the main frame, and detect mouse click :<\/span><\/div><div class=\"line\" id=\"LC76\">&nbsp;&nbsp;&nbsp;<span class=\"n\">MouseEventFilterLayerUI<\/span> <span class=\"n\">ui<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">MouseEventFilterLayerUI<\/span><span class=\"o\">();<\/span><\/div><div class=\"line\" id=\"LC77\">&nbsp;&nbsp;&nbsp;<span class=\"n\">MainFrame<\/span><span class=\"o\">.<\/span><span class=\"na\">getInstance<\/span><span class=\"o\">().<\/span><span class=\"na\">getMainLayer<\/span><span class=\"o\">().<\/span><span class=\"na\">setUI<\/span><span class=\"o\">(<\/span><span class=\"n\">ui<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC78\">&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC79\">&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC80\">&nbsp;<\/div><div class=\"line\" id=\"LC81\">&nbsp;<span class=\"nd\">@Override<\/span><\/div><div class=\"line\" id=\"LC82\">&nbsp;<span class=\"kd\">public<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">dispose<\/span><span class=\"o\">()<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC83\">&nbsp;&nbsp;<span class=\"kd\">super<\/span><span class=\"o\">.<\/span><span class=\"na\">dispose<\/span><span class=\"o\">();<\/span><\/div><div class=\"line\" id=\"LC84\">&nbsp;<\/div><div class=\"line\" id=\"LC85\">&nbsp;&nbsp;<span class=\"c1\">// remove the layer when closing :<\/span><\/div><div class=\"line\" id=\"LC86\">&nbsp;&nbsp;<span class=\"n\">MainFrame<\/span><span class=\"o\">.<\/span><span class=\"na\">getInstance<\/span><span class=\"o\">().<\/span><span class=\"na\">getMainLayer<\/span><span class=\"o\">().<\/span><span class=\"na\">setUI<\/span><span class=\"o\">(<\/span><span class=\"kc\">null<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC87\">&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC88\">&nbsp;<\/div><div class=\"line\" id=\"LC89\">&nbsp;<\/div><div class=\"line\" id=\"LC90\">&nbsp;<span class=\"kd\">private<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">MouseEventFilterLayerUI<\/span> <span class=\"kd\">extends<\/span> <span class=\"n\">LockableUI<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC91\">&nbsp;<\/div><div class=\"line\" id=\"LC92\">&nbsp;&nbsp;<span class=\"nd\">@Override<\/span><\/div><div class=\"line\" id=\"LC93\">&nbsp;&nbsp;<span class=\"kd\">protected<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">processMouseEvent<\/span><span class=\"o\">(<\/span><span class=\"n\">MouseEvent<\/span> <span class=\"n\">e<\/span><span class=\"o\">,<\/span> <span class=\"n\">JXLayer<\/span> <span class=\"n\">l<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC94\">&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"o\">(<\/span><span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">getID<\/span><span class=\"o\">()<\/span> <span class=\"o\">==<\/span> <span class=\"n\">MouseEvent<\/span><span class=\"o\">.<\/span><span class=\"na\">MOUSE_RELEASED<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">getButton<\/span><span class=\"o\">()<\/span> <span class=\"o\">==<\/span> <span class=\"n\">MouseEvent<\/span><span class=\"o\">.<\/span><span class=\"na\">BUTTON1<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC95\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// left click on the main frame :<\/span><\/div><div class=\"line\" id=\"LC96\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">Point<\/span> <span class=\"n\">p<\/span>  <span class=\"o\">=<\/span>  <span class=\"n\">SwingUtilities<\/span><span class=\"o\">.<\/span><span class=\"na\">convertPoint<\/span><span class=\"o\">(<\/span><span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">getComponent<\/span><span class=\"o\">(),<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">getPoint<\/span><span class=\"o\">(),<\/span> <span class=\"n\">l<\/span><span class=\"o\">.<\/span><span class=\"na\">getView<\/span><span class=\"o\">());<\/span><\/div><div class=\"line\" id=\"LC97\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">setColorAt<\/span><span class=\"o\">(<\/span><span class=\"n\">color<\/span><span class=\"o\">,<\/span> <span class=\"n\">p<\/span><span class=\"o\">,<\/span> <span class=\"n\">l<\/span><span class=\"o\">.<\/span><span class=\"na\">getView<\/span><span class=\"o\">());<\/span><\/div><div class=\"line\" id=\"LC98\">&nbsp;&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC99\">&nbsp;&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC100\">&nbsp;&nbsp;&nbsp;<span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">consume<\/span><span class=\"o\">();<\/span><\/div><div class=\"line\" id=\"LC101\">&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC102\">&nbsp;<\/div><div class=\"line\" id=\"LC103\">&nbsp;&nbsp;<span class=\"cm\">/**<\/span><\/div><div class=\"line\" id=\"LC104\"><span class=\"cm\">   * set the client property &quot;color&quot; to color for all sub-components<\/span><\/div><div class=\"line\" id=\"LC105\"><span class=\"cm\">   * of c which are at the position p<\/span><\/div><div class=\"line\" id=\"LC106\"><span class=\"cm\">   */<\/span><\/div><div class=\"line\" id=\"LC107\">&nbsp;&nbsp;<span class=\"kd\">private<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">setColorAt<\/span><span class=\"o\">(<\/span><span class=\"n\">Color<\/span> <span class=\"n\">color<\/span><span class=\"o\">,<\/span> <span class=\"n\">Point<\/span> <span class=\"n\">p<\/span><span class=\"o\">,<\/span> <span class=\"n\">JComponent<\/span> <span class=\"n\">c<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>  <\/div><div class=\"line\" id=\"LC108\">&nbsp;&nbsp;&nbsp;<span class=\"k\">for<\/span> <span class=\"o\">(<\/span><span class=\"n\">Component<\/span> <span class=\"n\">component<\/span> <span class=\"o\">:<\/span> <span class=\"n\">c<\/span><span class=\"o\">.<\/span><span class=\"na\">getComponents<\/span><span class=\"o\">())<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC109\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">Point<\/span> <span class=\"n\">p2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">SwingUtilities<\/span><span class=\"o\">.<\/span><span class=\"na\">convertPoint<\/span><span class=\"o\">(<\/span><span class=\"n\">c<\/span><span class=\"o\">,<\/span> <span class=\"n\">p<\/span><span class=\"o\">,<\/span> <span class=\"n\">component<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC110\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"o\">(<\/span><span class=\"n\">component<\/span> <span class=\"k\">instanceof<\/span> <span class=\"n\">JComponent<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">component<\/span><span class=\"o\">.<\/span><span class=\"na\">contains<\/span><span class=\"o\">(<\/span><span class=\"n\">p2<\/span><span class=\"o\">))<\/span> <span class=\"o\">{<\/span><\/div><div class=\"line\" id=\"LC111\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">JComponent<\/span> <span class=\"n\">jc<\/span> <span class=\"o\">=<\/span> <span class=\"o\">(<\/span><span class=\"n\">JComponent<\/span><span class=\"o\">)<\/span> <span class=\"n\">component<\/span><span class=\"o\">;<\/span><\/div><div class=\"line\" id=\"LC112\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">jc<\/span><span class=\"o\">.<\/span><span class=\"na\">putClientProperty<\/span><span class=\"o\">(<\/span><span class=\"s\">&quot;color&quot;<\/span><span class=\"o\">,<\/span> <span class=\"n\">color<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC113\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">setColorAt<\/span><span class=\"o\">(<\/span><span class=\"n\">color<\/span><span class=\"o\">,<\/span> <span class=\"n\">p2<\/span><span class=\"o\">,<\/span> <span class=\"n\">jc<\/span><span class=\"o\">);<\/span><\/div><div class=\"line\" id=\"LC114\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC115\">&nbsp;&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC116\">&nbsp;&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC117\">&nbsp;<\/div><div class=\"line\" id=\"LC118\">&nbsp;<span class=\"o\">}<\/span><\/div><div class=\"line\" id=\"LC119\">&nbsp;<\/div><div class=\"line\" id=\"LC120\"><span class=\"o\">}<\/span><\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/52763/b5e0166794cb928bc5ee9f1b7e0383251f1379ca/UIColorChooserPanel.java\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/52763#file_ui_color_chooser_panel.java\" style=\"float:right;margin-right:10px;color:#666\">UIColorChooserPanel.java<\/a>\n          <a href=\"http://gist.github.com/52763\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
