Java - Ayuda novato en java

 
Vista:

Ayuda novato en java

Publicado por delphos (1 intervención) el 25/12/2005 02:08:05
Hola foro tengo este codigo tan simple y al compilar me dice:
"Ejemplo7.java uses or overrides a deprecated API."

utilizo la opcion deprecated y me dice:
Ejemplo7.java:23: warning: [deprecation] handleEvent(java.awt.Event) in java.event
.Component has been deprecate
public boolean handleEvent(Event ev)
^
Ejemplo7.java:31: warning: [deprecation] handleEvent(java.awt.Event) in java .event.Component has been deprecate
return super.handleEvent(ev);

Alguien me puede decir a que es devido lo unico que quiero es que cuando se de al boton cerrar se cierre tanto si es llamado como standlone como applet.

// grabar como "Ejemplo7.java"
// compilar con "javac Ejemplo7.java"
import java.awt.*;
public class Ejemplo7 extends Frame {
boolean inAnApplet = true;
public static void main(String args[]) {
Ejemplo7 window = new Ejemplo7();
window.inAnApplet = false;
window.setTitle("Ejemplo");
window.pack();
window.setVisible(true);
}
public Ejemplo7() {
Panel panelAlto = new Panel();
panelAlto.add("West", new Label("Cartel", Label.CENTER));
panelAlto.add("East", new TextArea("Area de texto", 5, 20));
add("North", panelAlto);
Panel panelBajo = new Panel();
panelBajo.add(new TextField("Campo de Texto"));
panelBajo.add(new Button("Botón"));
add("South",panelBajo);
}
public boolean handleEvent(Event ev) {
if (ev.id == Event.WINDOW_DESTROY) {
if (inAnApplet) {
dispose();
} else {
System.exit(0);
}
}
return super.handleEvent(ev);
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda novato en java

Publicado por PsyBoy (39 intervenciones) el 25/12/2005 20:41:22
Bueno, eso no es un error, es una advertencia de que estas usando métodos antiguos para manejar eventos pues estos no se usan más, lo que tenes que hacer es usar las interfaces de métodos de eventos como ActionListener WindowListener, etc. estos se encuentran en el paque te

java.awt.event.*;

Te escribiré un ejemplo, con la nueva interfaz de Java que es la swing, que es mejor y mas bonita que el awt

import javax.swing.*;
import java.awt.event.*;

class prueba extends JFrame implements ActionListener
{
JButton b = new JButton("hola");

prueba()
{
JPanel p = new JPanel();
p.setLayout(null);
b.setBounds(20,20,40,25);

b.addActionListener(this);

addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e){
dispose();
setVisible(false);
System.exit(0);
}
});

p.add(b);
setContentPane(p);
setVisible(true);
setBounds(100,100,200,200);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource == b)
setTitle("apachaste el botón");
}
}

Bueno, usas la palabra reservada implements para usar las interfaces de eventos
Aqui en swing no ponemos directamente los componentes en el frame, si no que lo ponemos en un panel y el panel lo ponemos en el frame, con el metodo setContentPane(JPanel) declaramos el panel principal

Ahora en el método actionPerformed(ActionEvent) creamos los eventos, el metodo getSource() de la clase ActionEvent determina donde sucedió el evento, pero recuerda que para distintos componenetes son distintas interfaces, por ejemplo para los eventos del frame usamos WindowListener, pero cuando usas una interface en tu clase debes escribir todos los métodos de esta misma para que funcione, para eso usamos el codigo

addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e){
dispose();
setVisible(false);
System.exit(0);
}
});

para solo activar el evento de cerrado de la ventana

Espero que te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar