1 /*
2 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or
5 * without modification, are permitted provided that the following
6 * conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistribution in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * Neither the name of Sun Microsystems, Inc. or the names of
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * This software is provided "AS IS," without a warranty of any
21 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
25 * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
26 * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
27 * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
28 * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
29 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
30 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
31 * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
32 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
33 *
34 * You acknowledge that this software is not designed, licensed or
35 * intended for use in the design, construction, operation or
36 * maintenance of any nuclear facility.
37 */
38
39 package javax.swing.beaninfo;
40
41 import java.awt;
42 import java.awt.event;
43 import javax.swing;
44 import javax.swing.border;
45 import javax.swing.colorchooser;
46
47 public class ChooserComboPopup extends JPopupMenu {
48 SwingColorEditor ce;
49
50 public ChooserComboPopup(SwingColorEditor c){
51 super();
52 this.ce = c;
53 JPanel p = new JPanel();
54 p.setLayout(new BorderLayout());
55 SwatchChooserPanel s = new SwatchChooserPanel(c,this);
56 s.buildChooser();
57 p.add(s,BorderLayout.NORTH);
58 JButton b = new JButton("Other ...");
59 b.addActionListener(new ActionListener(){
60 public void actionPerformed(ActionEvent e){
61 Color color = null;
62 color = JColorChooser.showDialog(getParent(), "Color Chooser", color);
63 getCE().setValue(color);
64 // XXX: update the recentSwatch
65 setVisible(false);
66 }
67 });
68 p.add(b, BorderLayout.SOUTH); // , BorderLayout.SOUTH);
69 add(p);
70 addMouseListener(new PopupListener());
71 }
72
73 public SwingColorEditor getCE(){
74 return this.ce;
75 }
76
77 class PopupListener extends MouseAdapter {
78 public void mousePressed(MouseEvent e){
79 }
80
81 public void mouseReleased(MouseEvent e){
82 setVisible(false);
83 }
84 }
85
86 }