使用颜色选择器

    使用JColorChooser可以为自己的JAVA应用提供一个颜色选择器。JColorChooser本身就是一个组件,可以添加到任何容器中去。另外,JColorChooser提供一些API使用对话框形式进行颜色选择。

    颜色选择器由两部分组成:ChooserPanel、PreviewPanel。

1、将JColorChooser作为一般组件添加到某容器中

public class ColorChooserDemo extends JPanel ... {
    public ColorChooserDemo() {  
    super(new BorderLayout());
        banner = new JLabel("Welcome to the Tutorial Zone!",
                            JLabel.CENTER);
        banner.setForeground(Color.yellow);
 . . .
tcc = new JColorChooser(banner.getForeground());
 . . .       
add(tcc, BorderLayout.PAGE_END);
    }

2、ColorSelctionModel
   JColorChooser使用ColorSeclectionModel管理当前颜色的选择,当前颜色发生变化时,该对象会向注册的ChangeListener发送一个ChangeEvent事件,可以通过相应该事件,及时反映颜色的变化。
tcc.getSelectionModel().addChangeListener(this);
 . . .
public void stateChanged(ChangeEvent e) {
 Color newColor = tcc.getColor();
    banner.setForeground(newColor);
}

3、打开颜色选择对话框

Color newColor = JColorChooser.showDialog(
                     ColorChooserDemo2.this,
                     "Choose Background Color",
 banner.getBackground());
以上方法打开一个模式对话框,如想打开一个非模式对话框,可以使用createDialog方法,这个方法允许你为OK和CANCEL按钮自定义ActionListener。

4、删除或替换预览面板
tcc.setPreviewPanel(new JPanel());

5、创建一个自定义的选择面板

   可以通过addChooserPanel方法添加一个自定义的选择面板,如果你想完全替换默认面板,请使用setChooserPanels方法:
//Override the chooser panels with our own.
AbstractColorChooserPanel panels[] = { new CrayonPanel() };
 tcc.setChooserPanels(panels);
其中CrayonPanel是AbstractColorChooserPanel的一个子类,必须重写其中的5个抽象方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值