package interpret; import java.awt.*; import java.awt.event.*; public class CreatedNullArrayController extends Dialog implements ActionListener { private static final long serialVersionUID = 1L; private Interpret interpret; private Object[] objectArray; private String[] objectName; private Choice arrayComponentChoice = new Choice(); private Button checkButton = new Button("Check"); private Label objectNameLabel = new Label(""); private Choice setFieldObjectChoice = new Choice(); private Button setButton = new Button("Set"); private Button updateButton = new Button("Update"); public CreatedNullArrayController(Frame owner, Object[] targetArray) { super(owner); interpret = (Interpret)owner; objectArray = targetArray; objectName = new String[objectArray.length]; // ウィンドウを閉じられるようにする addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); this.setTitle(interpret.getC().toString()); this.setSize(800, 160); this.setResizable(true); // レイアウトの設定 this.setLayout(new GridLayout(1, 6)); for (int i = 0; i < objectArray.length; i++) { arrayComponentChoice.add(i + " - " + interpret.getC().toString()); } this.add(arrayComponentChoice); this.add(checkButton); checkButton.addActionListener(this); this.add(objectNameLabel); setFieldObjectChoice.removeAll(); for (int i = 0; i < interpret.createdObject.length; i++) { if (null == interpret.createdObject[i]) { break; } setFieldObjectChoice.add(interpret.objectName[i]); } this.add(setFieldObjectChoice); this.add(setButton); setButton.addActionListener(this); this.add(updateButton); updateButton.addActionListener(this); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if ("Check" == e.getActionCommand()) { if (null == objectName[arrayComponentChoice.getSelectedIndex()]) { objectNameLabel.setText("Null"); } else { objectNameLabel.setText(objectName[arrayComponentChoice.getSelectedIndex()]); } } if ("Set" == e.getActionCommand()) { objectArray[arrayComponentChoice.getSelectedIndex()] = interpret.createdObject[setFieldObjectChoice.getSelectedIndex()]; objectName[arrayComponentChoice.getSelectedIndex()] = interpret.objectName[setFieldObjectChoice.getSelectedIndex()]; } if ("Update" == e.getActionCommand()) { setFieldObjectChoice.removeAll(); for (int i = 0; i < interpret.createdObject.length; i++) { if (null == interpret.createdObject[i]) { break; } setFieldObjectChoice.add(interpret.objectName[i]); } } } }