Programación General > Java
Mi applet no funciona
digichap28:
Hola que tal?
Bueno, recien estoy trabajando con los applets y lo que he logrado hasta ahora ha sido que la aplicacion aparezca en un browser, pero las acciones de los botones que en esta estan no funcionan.
Es decir, al presionar algun boton que se supone tiene una accion no hace nada, lo raro es que ya he probado la aplicacion como un .jar y desde el eclipse le he dado run as. De las 2 maneras me han funcionado las acciones.
La verdad no se que sera lo que esta ocurriendo, estoy pensando que el codigo de las acciones para los applets debe ser distinto, o que el browser tiene alguna opcion para restringir las acciones de los applets. No tengo ni la mas minima idea.
Por favor ayudenme con esto.
Muchas gracias y saludos.
Juann:
Pero estas haciendo el code HTML, no se si me equivoco, pero para un applet es ".class" no un .jar :D
gophlb:
--- Cita de: "digichap28" ---La verdad no se que sera lo que esta ocurriendo
--- Fin de la cita ---
pon el codigo que llevas hecho y le echamos un vistazo entre todos, asi podremos ayudarte mejor
digichap28:
A continuacion el codigo HTML
--- Código: Text ---<html><header> <title>APPLET PRUEBA</title></header><body><center><APPLET CODE="Applet.class" WIDTH="500" HEIGHT="600"> </APPLET></center> </body></html>
A continuacion el codigo java
--- Código: Java ---import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.Vector; import javax.swing.BoxLayout;import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableModel; public class Applet extends JApplet { private JPanel panelPrincipal; private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JPanel panel_auxiliar; private JLabel etiqueta_archivo; private JTextField direccion_archivo; private JButton boton_buscar; private JFileChooser selector_archivo; private File archivo; private JTable tabla_datos; private DefaultTableModel modelo_tabla; private JScrollPane scroll1; private Object dato; private JButton boton_cargar; private JTable tabla_datos2; private Vector vector; public void init(){ panelPrincipal = (JPanel) getContentPane(); panelPrincipal.setLayout(new BoxLayout(panelPrincipal,BoxLayout.Y_AXIS)); panel1 =new JPanel(); panel1.setBackground(Color.LIGHT_GRAY); panel2 =new JPanel(); panel3 =new JPanel(); panel4 =new JPanel(); panel1.setLayout(new FlowLayout(FlowLayout.CENTER)); panel2.setLayout(new FlowLayout(FlowLayout.CENTER)); panel3.setLayout(new FlowLayout(FlowLayout.CENTER)); panel4.setLayout(new FlowLayout(FlowLayout.RIGHT)); ActionListener accionBuscar= new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub selector_archivo=new JFileChooser(); selector_archivo.setFileSelectionMode(JFileChooser.FILES_ONLY); int valor =selector_archivo.showOpenDialog(panelPrincipal); if(valor==JFileChooser.APPROVE_OPTION){ archivo = selector_archivo.getSelectedFile(); direccion_archivo.setText(archivo.getPath()); } } }; ActionListener accionCargar= new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub try{ BufferedReader archivo1= new BufferedReader(new FileReader(direccion_archivo.getText())); String cadena; cadena=archivo1.readLine(); if(conteo_tamanos_campos()==cadena.length()){ while(cadena !=null){ vector=new Vector(); int posicion_inicial=0; for(int i=0;i<3;i++){ dato=tabla_datos.getValueAt(i, 1); int valor_dato=Integer.parseInt(dato.toString()); vector.add(cadena.substring(posicion_inicial,valor_dato+posicion_inicial)); posicion_inicial=valor_dato+posicion_inicial; } modelo_tabla.addRow(vector); cadena=archivo1.readLine(); } archivo1.close(); }else{ JOptionPane.showMessageDialog(panelPrincipal,"Tamano campos incorrectos."); } }catch(FileNotFoundException a){ JOptionPane.showMessageDialog(panelPrincipal,"No existe archivo."); } catch (IOException e) { e.printStackTrace(); } } }; etiqueta_archivo=new JLabel("Archivo"); direccion_archivo =new JTextField(25); boton_buscar=new JButton("Buscar"); boton_buscar.addActionListener(accionBuscar); panel1.add(etiqueta_archivo); panel1.add(direccion_archivo); panel1.add(boton_buscar); String[] nombre_columnas={"Campo","Tamano campo"}; Object[][] datos={{"Codigo",""},{"Nombre",""},{"Telefono",""}}; tabla_datos=new JTable(datos,nombre_columnas); tabla_datos.getColumnModel().getColumn(1).setPreferredWidth(100); tabla_datos.getTableHeader().setReorderingAllowed(false); panel_auxiliar=new JPanel(); panel_auxiliar.setLayout(new BorderLayout()); panel_auxiliar.add(tabla_datos.getTableHeader(), BorderLayout.PAGE_START); panel_auxiliar.add(tabla_datos, BorderLayout.CENTER); boton_cargar=new JButton("Cargar"); boton_cargar.addActionListener(accionCargar); panel2.add(panel_auxiliar); panel2.add(boton_cargar); tabla_datos2=new JTable(); modelo_tabla=new DefaultTableModel(); modelo_tabla.addColumn("Codigo"); modelo_tabla.addColumn("Nombre"); modelo_tabla.addColumn("Telefono"); tabla_datos2.setModel(modelo_tabla); tabla_datos2.getTableHeader().setReorderingAllowed(false); JScrollPane scroll1=new JScrollPane(tabla_datos2); panel3.add(scroll1); panel4.add(new JLabel("By Diego Chapman")); panelPrincipal.add(panel1); panelPrincipal.add(panel2); panelPrincipal.add(panel3); panelPrincipal.add(panel4); } public int conteo_tamanos_campos(){ int total=0; for(int i=0;i<3;i++){ Object objeto_dato=tabla_datos.getValueAt(i, 1); int valor_dato=Integer.parseInt(objeto_dato.toString()); total+=valor_dato; }return total; } }
gophlb:
yo asi de primeras te diria que en el code de applet (en el html) tienes que quitar el .class (no el nombre de la clase) y añadirle antes la ruta completa del package
es decir, que si tu clase esta en el package com.misApplet y se llama Applet.class, deberas poner en el code:
code='com.misApplet.Applet'
espero que al menos eso sirva para que furrule. seguire echando un vistazo a ver si veo algo mas :D
ademas de eso, yo tengo por ahi una pagina para un applet y la tengo definida asi:
--- Código: Text ---<HTML><HEAD> <TITLE>.</TITLE></HEAD><BODY><APPLET code="aplicacion.principal.Applet" <- LA CLASE QUE EXTIENDE APPLET CON SU PACKAGE Y SIN EL .CLASS codeBase="../jar/" <- DIRECCION RELATIVA A ESTA PAGINA HTML, DONDE TENGO MIS JAR archive="applet.jar,tinylaf.jar" <- JARS QUE NECESITES Y QUE ESTAN EN ../JAR width="1000px" height="750px"/> </BODY></HTML>
Navegación
[#] Página Siguiente
Ir a la versión completa