【发布时间】:2016-11-08 08:57:15
【问题描述】:
我想在 java swing 中为JcolorChooser 创建一个自定义的ColorChooserPanel。
public class ColorPanel extends AbstractColorChooserPanel {
public void buildChooser() {
setLayout(new GridLayout(1, 3));
makeAddButton("Red", Color.red);
makeAddButton("Green", Color.green);
makeAddButton("Blue", Color.blue); }
public void updateChooser() {
}
public String getDisplayName() {
return "MyChooserPanel"; }
public Icon getSmallDisplayIcon() {
return null; }
public Icon getLargeDisplayIcon() {
return null; }
private void makeAddButton(String name, Color color) {
JButton button = new JButton(name);
button.setBackground(color);
button.setAction(new AbstractAction() {
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent arg0) {
JButton button = (JButton) arg0.getSource();
getColorSelectionModel().setSelectedColor(button.getBackground());
}});
add(button); }
}
它应该显示 3 个颜色的按钮,但它显示的是 6 个按钮。谁能告诉我我哪里做错了?以及如何删除下面的面板。
ColorPanel colorPanel = new ColorPanel();
colorPanel.buildChooser();
colorChooser = new JColorChooser();
colorChooser.addChooserPanel(colorPanel);
http://i.stack.imgur.com/u1fag.png
另一个问题:我可以通过色板颜色面板删除最近的窗格吗?我只想显示调色板。我指的是下图中的“最近”部分。
【问题讨论】:
-
您能告诉我们
buildChooser()的名称吗?这可能与有用的答案有关。 -
我就是这样做的(见我最后编辑的问题)
-
我不太明白你的第二个问题,试着每个问题问一个问题
标签: java jcolorchooser