修改颜色选择器面板

时间:2012-01-25 08:38:43

标签: java swing jcolorchooser

我正在创建一个颜色选择器,需要修改其中一个颜色选择器面板。

Color Chooser

我想要的是,我想通过RGB字段输入输入值来设置颜色,问题是RGB值似乎被禁用在api中有一个方法可以打开RGB输入来获取值?

1 个答案:

答案 0 :(得分:7)

这里似乎很好。

Color Chooser Test

import javax.swing.*;

class ColorChooserTest {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JOptionPane.showMessageDialog(null, new JColorChooser());
            }
        });
    }
}

  

无论如何,你可以组合RGB滑块面板和HSB面板吗?

是的,显然这是可能的。检查这个(非常脆弱,布局不当)的例子。

Color Chooser Test 2

import java.awt.*;
import javax.swing.*;
import javax.swing.colorchooser.*;
import javax.swing.border.*;

class ColorChooserTest2 {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JColorChooser cc = new JColorChooser();
                AbstractColorChooserPanel[] panels = cc.getChooserPanels();

                JPanel p = new JPanel();
                panels[1].setBorder(
                    new TitledBorder(panels[1].getDisplayName()));
                p.add(panels[1]);

                panels[2].setBorder(
                    new TitledBorder(panels[2].getDisplayName()));
                p.add(panels[2]);

                JPanel gui = new JPanel(new BorderLayout(2,2));
                gui.add(p, BorderLayout.CENTER);

                gui.add(cc.getPreviewPanel(), BorderLayout.SOUTH);

                JOptionPane.showMessageDialog(null, gui);
            }
        });
    }
}