import java.awt.*; import java.io.ByteArrayOutputStream; public class ParaDialogTest extends Frame { cam.dataxchg.ParameterList L; cam.visuals.dialogs.ParameterDialog pDialog; public ParaDialogTest() { //{{INIT_CONTROLS setLayout(null); setVisible(false); setSize(281,283); TestButton = new java.awt.Button(); TestButton.setActionCommand("button"); TestButton.setLabel("Test Parameter Dialog"); TestButton.setBounds(60,36,152,40); TestButton.setBackground(new Color(-2286012)); add(TestButton); TextDisplay = new java.awt.TextArea(); TextDisplay.setBounds(28,104,232,160); add(TextDisplay); setTitle("A Basic Application"); //}} //{{REGISTER_LISTENERS SymWindow aSymWindow = new SymWindow(); this.addWindowListener(aSymWindow); SymAction lSymAction = new SymAction(); TestButton.addActionListener(lSymAction); //}} } public ParaDialogTest(String title) { this(); setTitle(title); } public synchronized void show() { move(50, 50); super.show(); } static public void main(String args[]) { (new ParaDialogTest()).show(); } public void addNotify() { // Record the size of the window prior to calling parents addNotify. Dimension d = getSize(); super.addNotify(); if (fComponentsAdjusted) return; // Adjust components according to the insets setSize(insets().left + insets().right + d.width, insets().top + insets().bottom + d.height); Component components[] = getComponents(); for (int i = 0; i < components.length; i++) { Point p = components[i].getLocation(); p.translate(insets().left, insets().top); components[i].setLocation(p); } fComponentsAdjusted = true; } // Used for addNotify check. boolean fComponentsAdjusted = false; //{{DECLARE_CONTROLS java.awt.Button TestButton; java.awt.TextArea TextDisplay; //}} class DWindow extends java.awt.event.WindowAdapter { public void windowClosed(java.awt.event.WindowEvent event) { Object object = event.getSource(); if (object == pDialog) { if((pDialog.getExitState()).equals("OK")) { ByteArrayOutputStream S = new ByteArrayOutputStream(); L.output(S); TextDisplay.append(S.toString()); } else { TextDisplay.append("Cancel Hit"); } } } } class SymWindow extends java.awt.event.WindowAdapter { public void windowClosing(java.awt.event.WindowEvent event) { Object object = event.getSource(); if (object == ParaDialogTest.this) ParaDialogTest_WindowClosing(event); } } void ParaDialogTest_WindowClosing(java.awt.event.WindowEvent event) { hide(); // hide the Frame dispose(); // free the system resources System.exit(0); // close the application } class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == TestButton) { TestButton_Action(event); } } } void TestButton_Action(java.awt.event.ActionEvent event) { L = new cam.dataxchg.ParameterList("Runtime Parameters"); L.addDouble("diffusivity",.05); L.addDouble("a",0); L.addDouble("b",1); L.addDouble("dt",.01); pDialog = new cam.visuals.dialogs.ParameterDialog(this,L,true); DWindow dWindow = new DWindow(); pDialog.addWindowListener(dWindow); pDialog.show(); } }