jueves, 1 de marzo de 2012

Ventana dialog suma


package practicaAWT;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class VentanaDialogSuma  extends Frame implements ActionListener{
/*
* realizar una aplicacion para sumar numeros, Los numeros se pedirán en una ventana de dialogo y
* la suma de los innttroducidos se mostrara en la ventana principal.
*
*/

Label textoIntroducido;
int suma=0;
private DialogoSencillo dialog;

//constructor
public VentanaDialogSuma(){
Label mensaje=new Label("Suma Total");
add("North",mensaje);
textoIntroducido=new Label("");
add("Center",textoIntroducido);

Button boton=new Button("Ir a ventana Dialog");
boton.addActionListener(this);
Panel panel=new Panel();
panel.add(boton);
add("South",panel);

addWindowListener(new WindowAdapter(){
public void windoClosing(WindowEvent e){
System.exit(0);
}
});

}
public void actionPerformed(ActionEvent e){
if (dialog==null){
dialog=new DialogoSencillo(this, "Ventana de Dialogo",false);
}
dialog.setVisible(true);
}

public void mostrarSuma(String textoleido){
String texto;
try{
int n=Integer.parseInt(textoleido);
suma+=n;
texto=String.valueOf(suma);
}catch(Exception e){
texto="Introduzca Nª enteros ";
}
textoIntroducido.setText(texto);
add("Center",textoIntroducido);
doLayout();
}

public static void main(String[] args) {
VentanaDialogSuma ventan=new VentanaDialogSuma();
ventan.setTitle("Suma de enteros");
ventan.pack();
ventan.setVisible(true);
ventan.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

class DialogoSencillo extends Dialog implements ActionListener{
TextField texto;
VentanaDialogSuma padre;
Button setBoton;

DialogoSencillo(Frame f, String titulo, boolean modal){
super(f,titulo,modal);
padre=(VentanaDialogSuma)f;

Panel p1=new Panel();
p1.add(new Label("Introduzca el valor: "));
texto=new TextField(30);
texto.addActionListener(this);
p1.add(texto);
add("Center",p1);

Panel p2=new Panel();
p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
Button b=new Button("Cancel");
b.addActionListener(this);
setBoton=new Button("OK");
setBoton.addActionListener(this);
p2.add(b);
add("South",p2);
pack();

}
public void actionPerformed(ActionEvent e){
Object fuente=e.getSource();
if((fuente==setBoton)||(fuente==texto))
{
padre.mostrarSuma(texto.getText());
}
setVisible(true);
}
}

No hay comentarios:

Publicar un comentario