Problema de principiante

Iniciado por Nu|kEr32, 15 Junio 2010, 04:56 AM

0 Miembros y 1 Visitante están viendo este tema.

Nu|kEr32

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:
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?
A=Z, B=de A a Z/2, C= B+1hacia la derecha
OBAGZPGZYQ Z YU OBEEQB FU XZ PQOURENFGQ
I dont feel enough stronger...

Leyer

#1
Primero que nada tienes que pasarle el Tamaño a los JTextField
Ej:
Código (java) [Seleccionar]
new JTextField(10);


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 (java) [Seleccionar]

a4.setText(String.valueOf(y / 30));
a5.setText(String.valueOf(y % 30));


Y cuando haces esto
Código (java) [Seleccionar]
a1 = a3;

JTextField = otro JTextField wft es innecesario

Saludos.



Nu|kEr32

Gracias!, con respecto a lo de
Citarnew JTextField(10);
Sirve para applets?
Y
a1 = a3;
lo cambié por:
a3.setText(String.valueOf(x));
A=Z, B=de A a Z/2, C= B+1hacia la derecha
OBAGZPGZYQ Z YU OBEEQB FU XZ PQOURENFGQ
I dont feel enough stronger...

Leyer

deberías probar antes de preguntar :P claro que funciona

Pablo Videla

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 ;)