20 package net.sf.gridarta.gui.dialog.gameobjectattributes;
22 import java.awt.Container;
23 import java.awt.GridLayout;
24 import java.awt.event.ActionEvent;
25 import javax.swing.AbstractAction;
26 import javax.swing.JCheckBox;
27 import javax.swing.JOptionPane;
28 import javax.swing.JPanel;
29 import javax.swing.event.ChangeEvent;
30 import javax.swing.event.ChangeListener;
38 import org.jetbrains.annotations.NotNull;
39 import org.jetbrains.annotations.Nullable;
83 public void stateChanged(
final ChangeEvent e) {
95 public void stateChanged(
final ChangeEvent e) {
122 gridPanel =
new JPanel(
new GridLayout(0, 2, 3, 3));
124 final int number = attributeBitmask.
getNumber();
127 for (
int i = 0; i < number; i++) {
128 final String name = attributeBitmask.
getBitName(i);
136 if (
gridPanel.getComponentCount() % 2 != 0) {
147 if (newValue !=
null) {
158 }
catch (
final CloneNotSupportedException ex) {
159 throw new AssertionError(ex);
172 final String title =
"Choose " + attributeName.substring(0, 1).toUpperCase() + attributeName.substring(1);
185 final int number = attributeBitmask.
getNumber();
187 for (
int i = 0; i < number; i++) {
201 for (
int i = 0; i < number; i++) {
214 final int number = attributeBitmask.
getNumber();
215 for (
int i = 0; i < number; i++) {
230 final int number = attributeBitmask.
getNumber();
232 for (i = 0; i < number; i++) {
240 final boolean state =
checkbox[i++].isSelected();
257 private static boolean isActive(
final int index,
final int mask) {
258 final int bit = 1 << (index - 1);
259 return (mask & bit) == bit;