package org.hwo.bitfields.ui; import javax.swing.JPanel; import java.awt.FlowLayout; import javax.swing.BoxLayout; import javax.swing.JLabel; import org.hwo.bitfields.BitField; import org.hwo.bitfields.Field; public class BitFieldEditor extends JPanel { private Integer intValue; private BitField bitField; private FieldControl[] controls; public BitFieldEditor() { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); } public Integer getIntValue() { return intValue; } public void setIntValue(Integer intValue) { this.intValue = intValue; } public BitField getBitField() { return bitField; } public void setBitField(BitField bitField) { this.bitField = bitField; initializeView(); } private void initializeView() { if (controls != null) { for (FieldControl fc: controls) { remove(fc.getEditorComponent()); } } Field[] fields = bitField.getFields(); controls = new FieldControl[fields.length]; for (int i=0;i