Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Nu|kEr32 en 15 Junio 2010, 04:56 am



Título: Problema de principiante
Publicado por: Nu|kEr32 en 15 Junio 2010, 04:56 am
Hola a todos!,
Al compilar un applet me sale el sgte error:
proveyears.java:42 incompatible types
found: int
required java.awt.TextField
a4 = y / 30;
proveyears.java:43 incompatible types
found: int
required java.awt.TextField
a4 = y % 30;

2 errors

El código es el sgte:
Código:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;// is for false true values


// <applet width="50" height="200" code="proveyears"></applet>

public class proveyears extends Applet implements ActionListener{
Label lab1, lab2, lab3, lab4, lab5;
TextField a1, a2, a3, a4, a5;
Button b1;

public proveyears(){
lab1 = new Label("Año");
a1 = new TextField();
lab2 = new Label("Dias");
a2 = new TextField();
lab3 = new Label("Año");
a3 = new TextField();
lab4 = new Label("Mes");
a4 = new TextField();
lab5 = new Label("Dias");
a5 = new TextField();
b1 = new Button("Convertir");
add(lab1);
add(a1);
add(lab2);
add(a2);
add(lab3);
add(a3);
add(lab4);
add(a4);
add(lab5);
add(a5);
add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
int x = Integer.parseInt(a1.getText());
int y = Integer.parseInt(a2.getText());
a1 = a3;
a4 = y / 30;
a5 = y % 30;
}}
No veo ningun error en el codigo, asi que recurrí a ud. Con pasar a1 a x pasa de String a int, no?


Título: Re: Problema de principiante
Publicado por: Leyer en 15 Junio 2010, 05:08 am
Primero que nada tienes que pasarle el Tamaño a los JTextField
Ej:
Código
  1. new JTextField(10);

Código:
a4 = y / 30;
a5 = y % 30;

hay estas diciendo que el textField es igual a y /30 mas no estas mostrando el valor

Para mostrarlo seria así, pasando el resultado a String

Código
  1. a4.setText(String.valueOf(y / 30));
  2. a5.setText(String.valueOf(y % 30));

Y cuando haces esto
Código
  1. a1 = a3;

 JTextField = otro JTextField wft es innecesario

Saludos.




Título: Re: Problema de principiante
Publicado por: Nu|kEr32 en 15 Junio 2010, 06:15 am
Gracias!, con respecto a lo de
Citar
new JTextField(10);
Sirve para applets?
Y
a1 = a3;
lo cambié por:
a3.setText(String.valueOf(x));


Título: Re: Problema de principiante
Publicado por: Leyer en 15 Junio 2010, 06:34 am
deberías probar antes de preguntar :P claro que funciona


Título: Re: Problema de principiante
Publicado por: Pablo Videla en 15 Junio 2010, 06:35 am
Creo que el problema es el tipo de dato usa float o double en vez de int el problema es el resultado de la division con numeros flotantes , haz lo que digo ;)