solución

Anuncio
CC10A06
COMPUTACION I
02 de Junio del 2003
// version 1: el escuchador esta en una clase dentro de mi clase principal
// Las operaciones de la ventana se aplican sobre el objeto Frame (prog). Ej: prog.add(titulo);
public class Temperaturas{
// Crear componentes
private TextField
celsius = new TextField(9),
fahr = new TextField(9);
private Label
titulo = new Label("Conversion de Temperaturas"),
labCelsius = new Label("Celsius:"),
labFahrenh = new Label("Fahrenheit:");
private Button
quit = new Button("Quit");
private Frame prog;
// Inicializar ventana
public Temperaturas(){
prog = new Frame();
prog.setLayout(new GridLayout(6,1));
prog.add(titulo);
prog.add(labCelsius);
prog.add(celsius);
prog.add(labFahrenh);
prog.add(fahr);
prog.add(quit);
celsius.addActionListener(new EnterListener());
fahr.addActionListener(new EnterListener());
quit.addActionListener(new EnterListener());
prog.pack();
prog.show();
}
// Ejecutar programa
static public void main(String[] args){
Temperaturas T = new Temperaturas();
}
// Atender eventos (en otra clase!!)
class EnterListener implements ActionListener {
public void actionPerformed(ActionEvent x){
if(x.getSource() == celsius){
int c=Integer.parseInt(celsius.getText());
fahr.setText("" + (int)(9.0/5.0*c+32));
}
else if(x.getSource() == fahr){
int f=Integer.parseInt(fahr.getText());
celsius.setText("" + (int)((f-32)*5.0/9.0));
}
else //quit
System.exit(0);
}
}
}
CC10A06
COMPUTACION I
02 de Junio del 2003
// version 2: el escuchador esta incorporado dentro clase principal
// Las operaciones se aplican sobre el objeto Frame (prog). Ej: prog.add(titulo);
public class Temperaturas implements ActionListener {
// Crear componentes
private TextField
celsius = new TextField(9),
fahr = new TextField(9);
private Label
titulo = new Label("Conversion de Temperaturas"),
labCelsius = new Label("Celsius:"),
labFahrenh = new Label("Fahrenheit:");
private Button
quit = new Button("Quit");
private Frame prog;
// Inicializar ventana
public Temperaturas(){
prog = new Frame();
prog.setLayout(new GridLayout(6,1));
prog.add(titulo);
prog.add(labCelsius);
prog.add(celsius);
prog.add(labFahrenh);
prog.add(fahr);
prog.add(quit);
celsius.addActionListener(this);
fahr.addActionListener(this);
quit.addActionListener(this);
prog.pack();
prog.show();
}
// Atender eventos
public void actionPerformed(ActionEvent x){
if(x.getSource() == celsius){
int c=Integer.parseInt(celsius.getText());
fahr.setText("" + (int)(9.0/5.0*c+32));
}
else if(x.getSource() == fahr){
int f=Integer.parseInt(fahr.getText());
celsius.setText("" + (int)((f-32)*5.0/9.0));
}
else //quit
System.exit(0);
}
// Ejecutar el programa
static public void main(String[] args){
Temperaturas T = new Temperaturas();
}
}
CC10A06
COMPUTACION I
// version 3: mi clase ES UN Frame (extiende de Frame)
// Las operaciones se aplican sobre la misma clase. Ej: add(titulo);
public class Temperaturas extends Frame implements ActionListener {
TextField
celsius = new TextField(9),
fahr = new TextField(9);
Label
titulo = new Label("Conversion de Temperaturas"),
labCelsius = new Label("Celsius:"),
labFahrenh = new Label("Fahrenheit:");
Button
quit = new Button("Quit");
public Temperaturas(){
setLayout(new GridLayout(6,1));
add(titulo);
add(labCelsius);
add(celsius);
add(labFahrenh);
add(fahr);
add(quit);
celsius.addActionListener(this);
fahr.addActionListener(this);
quit.addActionListener(this);
}
public void actionPerformed(ActionEvent x){
if(x.getSource() == celsius){
int c=Integer.parseInt(celsius.getText());
fahr.setText("" + (int)(9.0/5.0*c+32));
}
else if(x.getSource() == fahr){
int f=Integer.parseInt(fahr.getText());
celsius.setText("" + (int)((f-32)*5.0/9.0));
}
else{ //quit
System.exit(0);
}
}
static public void main(String[] args){
Temperaturas T = new Temperaturas();
T.pack();
// esto tambien se podia hacer aca.
T.show();
}
}
02 de Junio del 2003
CC10A06
COMPUTACION I
public class Recuento implements ActionListener{
private Label
L1 = new Label("Candidato"),
L2 = new Label("N de Votos"),
L3 = new Label("Total");
private TextField
votos1 = new TextField("0"),
votos2 = new TextField("0"),
votos3 = new TextField("0");
private Button
cdto1 = new Button("Rosa Mara"),
cdto2 = new Button("Jos Manuel"),
descontar = new Button("descontar ultimo voto"),
recomenzar = new Button("recomenzar");
private Frame prog;
private int v1=0, v2=0, ultimoVoto=0; // inicializar variables GLOBALES!!
// Inicializar ventana
public Recuento(){
prog = new Frame();
prog.setLayout(new GridLayout(5,2));
prog.add(L1); prog.add(L2);
prog.add(cdto1); prog.add(votos1);
prog.add(cdto2); prog.add(votos2);
prog.add(L3); prog.add(votos3);
prog.add(descontar); prog.add(recomenzar);
cdto1.addActionListener(this);
cdto2.addActionListener(this);
descontar.addActionListener(this);
recomenzar.addActionListener(this);
prog.pack();
prog.show();
}
public void actionPerformed(ActionEvent x){
if(x.getSource() == cdto1){
++v1;
ultimoVoto = 1;
}else if(x.getSource() == cdto2){
++v2;
ultimoVoto = 2;
}else if(x.getSource() == recomenzar)
v1=v2=0;
else
if(ultimoVoto == 1) --v1; // boton "descontar ultimo"
else --v2;
votos1.setText(""+v1);
votos2.setText(""+v2);
votos3.setText(""+(v1+v2));
}
public static void main(String[] args){
Recuento R = new Recuento();
}
}
02 de Junio del 2003
Descargar