Os escribo este post pq ando un poco desesperado.
Problema: tengo un applet de un chat en java que esta constantemente a traves de un timer leyendo de una base de datos los usuaris que estan activos en la tabla usuaris_chat, bien esto funciona perfecto en el APPLET VIEWER el problema viene al incrustarlo dentro del navegar que el applet carga pero no tiene comunicacion con la base de datos, es como si no detectara la libreria de mysql en jar, por lo que dice, aunque si que la tiene carga en el tag adecuado, nose si esque estoy haciendo algo mal !!
Adjunto mi codigo:
Clase java principal
Código JAVA:
Ver original
import java.awt .*; import java.awt.event .*; import javax.swing.*; import javax.swing.Timer; /* * ChatApplet.java * * Creat el 10/05/2011, a les 19:17:44 * * @author franki */ Timer temps; @Override public void init() { ActualitzaLlista al = new ActualitzaLlista(); try{ jLlistaUsuaris.setListData(al.listar()); } } }); temps.start(); try { public void run() { initComponents(); jTextArea.setEditable(false); jTextArea.setText("Conectando con el servidor..."); } }); ex.printStackTrace(); } } /** This method is called from within the init() method to * initialize the form. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { public int getSize() { return strings.length; } }); jScrollPane1.setViewportView(jLlistaUsuaris); jTextEnviarActionPerformed(evt); } }); jTextArea.setColumns(20); jTextArea.setRows(5); jScrollPane2.setViewportView(jTextArea); jBotoEnviar.setText("ENVIAR"); jBotoEnviarActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jBotoEnviar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextEnviar, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(13, 13, 13)) ); }// </editor-fold>//GEN-END:initComponents private void jTextEnviarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextEnviarActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jTextEnviarActionPerformed private void jBotoEnviarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBotoEnviarActionPerformed jTextArea.setText(jTextArea.getText()+"\n"+jTextEnviar.getText()); jTextEnviar.setText(null); }//GEN-LAST:event_jBotoEnviarActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables // End of variables declaration//GEN-END:variables }
Clase que lee de la base de datos
Código JAVA:
Ver original
/** * * @author franki */ import java.sql.*; public class ActualitzaLlista { public void llegirBD(){ for(int j=0;j<100;j++){ lista[j] = ""; } try { int i = 0; //Busca el driver per al tipus de DBMS en questio Class.forName("com.mysql.jdbc.Driver"); //Definint url de connexio amb la base de dades //el nom de la BD és "mydb" Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydb?user=root&password="); // Crear anunciat while(tabla.next()){ lista[i] = tabla.getString(1); i++; } e.printStackTrace(); } e.printStackTrace(); } e.printStackTrace(); } } llegirBD(); return lista; } }
Codigo HTML que carga el applet
Código HTML:
Ver original
PD: Recuerdo que en el applet viewer funciona perfecto.
PD2: Desde la consola de errores de google chrome sale:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Salu2 y mil gracias por su tiempo