mvnForum Homepage Bienvenido domingo  |  Terminar sesión   
  Búsqueda  
  Indice |  Temas Recientes |  Quién Está en Línea |  Lista de Usuarios |  Mi Perfil |  Búsqueda |  Ayuda


Ir a »
Total de mensajes en este tema: 5 [Eliminar este Tema] [Mover este Tema]
[Ańadir a Mis Favoritos] [Ańadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 75 veces y tiene 4 respuestas Tema Siguiente
Masculino odomalo
Novato



Ingresó: Feb 25, 2004
Mensajes: 28
Estado: En línea

Adjuntar archivo   Editar este mensaje   applet de la sesion 12 Responder a este mensaje
Responder citando
[Eliminar este Tema]

Hola. Tengo un problema con el applet de la sesion 12. No se me muestra en la pagina html.
el codigo de la pagina es:
<html>
<body>
<APPLET CODE="CalcApplet.class" WIDTH="400" HEIGHT="200">
</APPLET>
</body>
</html>
y ambos estan en el mismo directorio.
Me sale que no se ha podido cargar el subprograma.

El caso es que ejecuto el applet en java, como si fuera un programa y funciona bien. Quizás el fallo esté ahí en que no tendría que funcionar si no es en una html, o no?
[Jul 19, 2004 12:47:00 PM] Print Post    odomalo@yahoo.es Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: applet de la sesion 12 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Hola.

Si te refieres a que ejecutas:

java CalcApplet

y te funciona, tienes razón, no debería. Te funcionará porque probablemente se te haya olvidado quitar el "main".

Hay dos formas de poder ejecutar el applet: desde un navegador o desde la herramienta "appletviewer" que viene con JDK. Para esto último, ponte en la carpeta donde tengas el applet y la página HTML y ejecutas:

appletviewer tu_pagina.html

Para que te funcione en el navegador, ve al Panel de Control, y abre la opción "Java Plugin". En la pestaña "Exploradores" de la ventana que se te abre, comprueba que están marcadas las casillas de los navegadores que te interesen (Explorer, por ejemplo). Con eso debería funcionarte.

Si sigue sin ir, dímelo
[Jul 19, 2004 1:27:04 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino miquelsi
Extranjero



Ingresó: Jun 20, 2004
Mensajes: 11
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: applet de la sesion 12 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Hola, tengo el mismo problema que odomalo. He quitado el main, y he hecho todas las modificaciones que se indican en el enunciado, y continua sin ir. Tambien se me ejecuta desde Eclipse (Run -> Java Applet), pero no desde el navegador, ni desde el appletviewer. Pongo el codigo aqui por si a caso...

package modulo3.sesion12;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

// Clase que implementa una calculadora sencilla

public class CalcApplet extends Applet
{
// Operandos
TextField txtOp1, txtOp2;

// Resultado
TextField txtRes;

// Operadores
Choice operadores;

// Boton de resultado
Button btnRes;

// Constructor
public void init()
{
setSize(300, 150);
setLayout(new GridLayout(4, 2));

// Primer operando
Label lblOp1 = new Label("Primer operando:");
txtOp1 = new TextField();
add(lblOp1);
add(txtOp1);

// Operador
Label lblOper = new Label ("Operador:");
operadores = new Choice();
operadores.addItem("+");
operadores.addItem("-");
operadores.addItem("*");
add(lblOper);
add(operadores);

// Segundo operando
Label lblOp2 = new Label("Segundo operando:");
txtOp2 = new TextField();
add(lblOp2);
add(txtOp2);

// Resultado
btnRes = new Button ("Calcular");
txtRes = new TextField();
add(btnRes);
add(txtRes);

// Evento sobre el botón
btnRes.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int op1, op2;
try
{
op1 = Integer.parseInt(txtOp1.getText());
op2 = Integer.parseInt(txtOp2.getText());

if (((String)(operadores.getSelectedItem())).equals("+"))
txtRes.setText("" + (op1 + op2));
else if (((String)(operadores.getSelectedItem())).equals("-"))
txtRes.setText("" + (op1 - op2));
else if (((String)(operadores.getSelectedItem())).equals("*"))
txtRes.setText("" + (op1 * op2));
} catch (Exception ex) {
txtRes.setText("ERROR EN LOS OPERANDOS");
}
}
});
}
}

Bueno, ya me direis. Gracias.
Saludos!
[Jul 20, 2004 11:41:27 AM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino odomalo
Novato



Ingresó: Feb 25, 2004
Mensajes: 28
Estado: En línea

Adjuntar archivo   Editar este mensaje   Re: applet de la sesion 12 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Nada, que no consigo que me vaya. Este es el codigo de mi applet:

package modulo3.sesion12;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;

// Clase que implementa una calculadora sencilla

public class CalcApplet extends Applet
{
// Operandos
TextField txtOp1, txtOp2;

// Resultado
TextField txtRes;

// Operadores
Choice operadores;

// Boton de resultado
Button btnRes;

// Constructor
public void init()
{
setSize(300, 150);
setLayout(new GridLayout(4, 2));

// Primer operando
Label lblOp1 = new Label("Primer operando:");
txtOp1 = new TextField();
add(lblOp1);
add(txtOp1);

// Operador
Label lblOper = new Label ("Operador:");
operadores = new Choice();
operadores.addItem("+");
operadores.addItem("-");
operadores.addItem("*");
add(lblOper);
add(operadores);

// Segundo operando
Label lblOp2 = new Label("Segundo operando:");
txtOp2 = new TextField();
add(lblOp2);
add(txtOp2);

// Resultado
btnRes = new Button ("Calcular");
txtRes = new TextField();
add(btnRes);
add(txtRes);

// Evento sobre el botón
btnRes.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int op1, op2;
try
{
op1 = Integer.parseInt(txtOp1.getText());
op2 = Integer.parseInt(txtOp2.getText());

if (((String)(operadores.getSelectedItem())).equals("+"))
txtRes.setText("" + (op1 + op2));
else if (((String)(operadores.getSelectedItem())).equals("-"))
txtRes.setText("" + (op1 - op2));
else if (((String)(operadores.getSelectedItem())).equals("*"))
txtRes.setText("" + (op1 * op2));
} catch (Exception ex) {
txtRes.setText("ERROR EN LOS OPERANDOS");
}
}
});
}
}

Y la pagina html es la que he escrito en el mensaje de antes. haber si tu puedes ver el error porque no se me inicializa el applet.
[Jul 20, 2004 11:58:56 AM] Print Post    odomalo@yahoo.es Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: applet de la sesion 12 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Ya he descubierto el problema smile
Si vuestra clase PERTENECE al paquete "modulo3.sesion12", entonces deberéis lanzar en el applet la clase "modulo3.sesion12.CalcApplet.class".

Deberéis dejar la página HTML en el directorio raíz del proyecto (no dentro del paquete), y el applet en las carpetas correspondientes al paquete y subpaquetes, quedando algo como:

Dir Raiz/
Dir Raiz/pagina.html
Dir Raiz/modulo3/sesion12/CalcApplet.java
Dir Raiz/modulo3/sesion12/CalcApplet.class
Dir Raiz/modulo3/sesion12/...*.class

De esta forma sí debería funcionaros, siempre que la etiqueta APPLET contenga también los paquetes y subpaquetes:

<APPLET CODE="modulo3.sesion12.CalcApplet.class" WIDTH="400" HEIGHT="200">
</APPLET>
[Jul 20, 2004 2:13:59 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]