< prev index next >
src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -28,21 +28,22 @@
import java.awt.Color;
import java.awt.ContainerOrderFocusTraversalPolicy;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
+import javax.swing.DefaultButtonModel;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.EmptyBorder;
import javax.swing.JSpinner.DefaultEditor;
@SuppressWarnings("serial") // Superclass is not serializable across versions
-final class ColorPanel extends JPanel implements ActionListener {
+final class ColorPanel extends JPanel implements ItemListener {
private final SlidingSpinner[] spinners = new SlidingSpinner[5];
private final float[] values = new float[this.spinners.length];
private final ColorModel model;
@@ -71,11 +72,11 @@
gbc.insets.top = 5;
}
add(button, gbc);
group.add(button);
button.setActionCommand(Integer.toString(i));
- button.addActionListener(this);
+ button.getModel().addItemListener(this);
this.spinners[i] = new SlidingSpinner(this, button);
}
else {
JLabel label = new JLabel();
add(label, gbc);
@@ -104,20 +105,26 @@
setFocusable(false);
this.model = model;
}
- public void actionPerformed(ActionEvent event) {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if(e.getStateChange() == ItemEvent.SELECTED) {
+ if (e.getSource() instanceof DefaultButtonModel) {
+ DefaultButtonModel model = (DefaultButtonModel) e.getSource();
try {
- this.z = Integer.parseInt(event.getActionCommand());
+ this.z = Integer.parseInt(model.getActionCommand());
this.y = (this.z != 2) ? 2 : 1;
this.x = (this.z != 0) ? 0 : 1;
getParent().repaint();
}
catch (NumberFormatException exception) {
}
}
+ }
+ }
void buildPanel() {
int count = this.model.getCount();
this.spinners[4].setVisible(count > 4);
for (int i = 0; i < count; i++) {
< prev index next >