/* * Created on May 13, 2004 * */ package jmsltutorial; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Vector; /** * @author Nick Didkovsky, (c) 2004 Nick Didkovsky, all rights reserved * */ public class ArrayEditorPanel extends Panel { private Vector textFieldVector = new Vector(); private double[] array; public ArrayEditorPanel() { } /** * @return array. after its contents are set from TextFields */ public double[] getArray() { setArrayFromTextFields(); return array; } /** Enumerate through TextFields and set values in array from their contents */ public void setArrayFromTextFields() { for (int i = 0; i < array.length; i++) { array[i] = new Double(((TextField) textFieldVector.elementAt(i)).getText()).doubleValue(); } } /** * @param ds, set array of double. Causes Panel to removeAll() and build new TextFields for the array elements */ public void setArray(double[] ds) { array = ds; textFieldVector.removeAllElements(); setLayout(new GridLayout(0, 2)); removeAll(); for (int i = 0; i < array.length; i++) { TextField tf = new TextField(array[i] + ""); textFieldVector.add(tf); add(new Label("arr[" + i + "]")); add(tf); } } public static void main(String args[]) { double[] arr = { 440, 455, 550, 604, 700 }; final ArrayEditorPanel arrayEditor = new ArrayEditorPanel(); arrayEditor.setArray(arr); Frame myFrame = new Frame(); myFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { com.softsynth.jmsl.JMSL.printDoubleArray(arrayEditor.getArray()); System.exit(0); } }); myFrame.add(arrayEditor); myFrame.pack(); myFrame.setVisible(true); } }