PROGRAMA 5

 

 

Se crean dos formularios como los de la figura:

 

import com.ms.wfc.app.*;

import com.ms.wfc.core.*;

import com.ms.wfc.ui.*;

import com.ms.wfc.html.*;

import com.ms.wfc.util.*;

/**

* Esta clase puede tomar un nœmero variable de par‡metros en la l’nea de

 * de comandos. La ejecuci—n del programa comienza con el mŽtodo main(). El

 * constructor de clase no se invoca a menos que se cree un objeto del tipo

 * 'ShoppingList' en el mŽtodo main().

 */

public class ShoppingList extends Form

{

                List shoppingList;

               

                public ShoppingList()

                {

                               super();

                  // Necesario para el soporte de Visual J++ Form Designer

                               initForm();                         

                              

                               shoppingList = new List(15, 5);

                }

                /**

                 * ShoppingList omite el uso por lo que puede limpiar la lista de

                 * componentes.

                 */

                public void dispose()

                {

                               super.dispose();

                               components.dispose();

                }

                private void updateList()

                {

                               int index = lbShopping.getSelectedIndex();

                               lbShopping.removeAll();

                               int i = 0, size = shoppingList.getSize();

                               while(i < size)

                               {

                                               lbShopping.addItem(shoppingList.getItem(i).toString());

                                               i ++;

                               }

                               if(index + 1 >= size)

                                               index = size - 1;

                               lbShopping.setSelectedIndex(index);

                }

                private void btnAdd_click(Object source, Event e)

                {

                                NewItem dlg = new NewItem(this);

                               if(dlg.showDialog() == DialogResult.OK)

                               {

                                               updateList();

                               }

                }

                private void btnRemove_click(Object source, Event e)

                {

                               shoppingList.removeItem(lbShopping.getSelectedIndex());

                               updateList();

                }

                private void lbShopping_selectedIndexChanged(Object source, Event e)

                {

                               btnRemove.setEnabled(lbShopping.getSelectedIndex() != -1);

                }

                private void ShoppingList_click(Object source, Event e)

                {

                              

                }

 

                /**

                 * NOTA: El siguiente c—digo es necesario para el dise–ador de formularios

                 * de Visual J++. Puede modificarse editor de formularios. No lo

                 * modifique utilizando el editor de c—digo.

                 */

                Container components = new Container();

                Button btnRemove = new Button();

                Button btnAdd = new Button();

                ListBox lbShopping = new ListBox();

                private void initForm()

                {

                               this.setText("ShoppingList");

                               this.setAutoScaleBaseSize(new Point(5, 13));

                               this.setClientSize(new Point(178, 146));

                               btnRemove.setEnabled(false);

                               btnRemove.setLocation(new Point(96, 120));

                               btnRemove.setSize(new Point(75, 23));

                               btnRemove.setTabIndex(2);

                               btnRemove.setText("&Quitar");

                               btnRemove.addOnClick(new EventHandler(this.btnRemove_click));

                               btnAdd.setLocation(new Point(8, 120));

                               btnAdd.setSize(new Point(75, 23));

                               btnAdd.setTabIndex(1);

                               btnAdd.setText("&Agregar");

                               btnAdd.addOnClick(new EventHandler(this.btnAdd_click));

                               lbShopping.setLocation(new Point(8, 8));

                               lbShopping.setSize(new Point(160, 108));

                               lbShopping.setTabIndex(0);

                               lbShopping.setText("listBox1");

                               lbShopping.setUseTabStops(true);

                               lbShopping.addOnSelectedIndexChanged(new EventHandler(this.lbShopping_selectedIndexChanged));

                               this.setNewControls(new Control[] {

                                                                                                              btnRemove,

                                                                                                              btnAdd,

                                                                                                              lbShopping});

                }

                /**

                 * Punto de entrada principal para la aplicaci—n.

                 *

                 * @param args Matriz de par‡metros pasados a la aplicaci—n

                 * mediante la l’nea de comandos.

                 */

                public static void main(String args[])

                {

                               Application.run(new ShoppingList());

                }

}

En el formulario 2 que llamaremos    “NewItem.JAVA”

 

import com.ms.wfc.app.*;

import com.ms.wfc.core.*;

import com.ms.wfc.ui.*;

import com.ms.wfc.html.*;

/**

* Esta clase puede tomar un nœmero variable de par‡metros en la l’nea de

 * de comandos. La ejecuci—n del programa comienza con el mŽtodo main(). El

 * constructor de clase no se invoca a menos que se cree un objeto del tipo

 * 'NewItem' en el mŽtodo main().

 */

public class NewItem extends Form

{

                ShoppingList parent;

               

                public NewItem(ShoppingList sl)

                {

                               super();

                               // Necesario para el soporte de Visual J++ Form Designer

                               initForm();                          

                              

                               parent = sl;

                               setDialogResult(DialogResult.CANCEL);

                }

                /**

                 * NewItem omite el uso por lo que puede limpiar la lista de

                 * componentes.

                 */

                public void dispose()

                {

                               super.dispose();

                               components.dispose();

                }

                private void btnOK_click(Object source, Event e)

                {

                               if(edtInput.getText().equals(""))

                               {

                                               MessageBox.show("Introduzca un elemento", "Error de entrada");

                                               edtInput.focus();

                                               return;

                               }

                               parent.shoppingList.addItem(edtInput.getText());

                               setDialogResult(DialogResult.OK);

                               dispose();

                }

                private void btnCancel_click(Object source, Event e)

                {

                                setDialogResult(DialogResult.CANCEL);

                               dispose();

                }

                private void NewItem_click(Object source, Event e)

                {

                              

                }

 

                /**

                 * NOTA: El siguiente c—digo es necesario para el dise–ador de formularios

                 * de Visual J++. Puede modificarse editor de formularios. No lo

                 * modifique utilizando el editor de c—digo.

                 */

                Container components = new Container();

                Label label1 = new Label();

                Edit edtInput = new Edit();

                Button btnOK = new Button();

                Button btnCancel = new Button();

                private void initForm()

                {

                               this.setText("NewItem");

                               this.setAutoScaleBaseSize(new Point(5, 13));

                               this.setClientSize(new Point(181, 89));

                               label1.setLocation(new Point(8, 8));

                               label1.setSize(new Point(160, 16));

                               label1.setTabIndex(0);

                               label1.setTabStop(false);

                               label1.setText("Introduzca el elemento nuevo y haga clic en Aceptar:");

                               edtInput.setLocation(new Point(8, 24));

                               edtInput.setSize(new Point(160, 20));

                               edtInput.setTabIndex(1);

                               edtInput.setText("");

                               btnOK.setLocation(new Point(8, 56));

                               btnOK.setSize(new Point(75, 23));

                               btnOK.setTabIndex(2);

                               btnOK.setText("OK");

                               btnOK.addOnClick(new EventHandler(this.btnOK_click));

                               btnCancel.setLocation(new Point(96, 56));

                               btnCancel.setSize(new Point(75, 23));

                               btnCancel.setTabIndex(3);

                               btnCancel.setText("Cancel");

                               btnCancel.addOnClick(new EventHandler(this.btnCancel_click));

                               this.setNewControls(new Control[] {

                                                                                                              btnCancel,

                                                                                                              btnOK,

                                                                                                              edtInput,

                                                                                                              label1});

                }

}