Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2009, 10:31
fermdp
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 4 meses
Puntos: 0
Este codigo fuente sirve tamto para una aplicacion o un applet?

Tengo un codigo que compilo y al correrlo funciona correctamente como aplicacion de escritorio, el mismo lo compilo para obtener un applet, lo firmo, lo pongo en una pagina.html y funciona con las siguientes salvedades:

Primero no se ejecuta dentro del explorador sino como si fuera una aplicacion de escritorio, es decir en una ventanita o como si fuera un programa aparte de explorador, se entiende?

Segundo en el propio explorador me da un error el cual copio desde la consola java aqui:

java.lang.ClassCastException: LeerArchivo.LeerArchivo cannot be cast to java.applet.Applet
at sun.plugin2.applet.Plugin2Manager.createApplet(Unk nown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionR unnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Excepción: java.lang.ClassCastException: LeerArchivo.LeerArchivo cannot be cast to java.applet.Applet



LA PREGUNTA este codigo sirve tanto para compilar la aplicación para escritorio como para un applet? de no ser posible esto que tendria que cambiar en el codigo para que el applet corra dentro del propio navegador???

Desde ya muchas gracias!!!

PD: aqui les dejo el codigo que use para hacer el applet

Código PHP:
package Grabador;


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.sound.sampled.*;

public class 
Grabador extends JFrame{

AudioFormat audioFormat;
TargetDataLine targetDataLine;

final 
JButton captureBtn =
new 
JButton("Capturar");
final 
JButton stopBtn = new JButton("Parar");

final 
JPanel btnPanel = new JPanel();
final 
ButtonGroup btnGroup = new ButtonGroup();
final 
JRadioButton aifcBtn =
new 
JRadioButton("AIFC");
final 
JRadioButton aiffBtn =
new 
JRadioButton("AIFF");
final 
JRadioButton auBtn =//selected at startup
new JRadioButton("AU");
final 
JRadioButton sndBtn =
new 
JRadioButton("SND");
final 
JRadioButton waveBtn =
new 
JRadioButton("WAV",true);

public static 
void mainString args[]){
new 
Grabador();
}
//end main

public Grabador(){//constructor
captureBtn.setEnabled(true);
stopBtn.setEnabled(false);

//Register anonymous listeners
captureBtn.addActionListener(
new 
ActionListener(){
public 
void actionPerformed(
ActionEvent e){
captureBtn.setEnabled(false);
stopBtn.setEnabled(true);
//Capture input data from the
// microphone until the Stop button is
// clicked.
captureAudio();
}
//end actionPerformed
}//end ActionListener
);//end addActionListener()

stopBtn.addActionListener(
new 
ActionListener(){
public 
void actionPerformed(
ActionEvent e){
captureBtn.setEnabled(true);
stopBtn.setEnabled(false);
//Terminate the capturing of input data
// from the microphone.
targetDataLine.stop();
targetDataLine.close();
}
//end actionPerformed
}//end ActionListener
);//end addActionListener()

//Put the buttons in the JFrame
getContentPane().add(captureBtn);
getContentPane().add(stopBtn);

//Include the radio buttons in a group
btnGroup.add(aifcBtn);
btnGroup.add(aiffBtn);
btnGroup.add(auBtn);
btnGroup.add(sndBtn);
btnGroup.add(waveBtn);

//Add the radio buttons to the JPanel
btnPanel.add(aifcBtn);
btnPanel.add(aiffBtn);
btnPanel.add(auBtn);
btnPanel.add(sndBtn);
btnPanel.add(waveBtn);

//Put the JPanel in the JFrame
getContentPane().add(btnPanel);

//Finish the GUI and make visible
getContentPane().setLayout(new FlowLayout());
setTitle("Copyright 2009, fad");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300,120);
setVisible(true);
}
//end constructor

//This method captures audio input from a
// microphone and saves it in an audio file.
private void captureAudio(){
try{
//Get things set up for capture
audioFormat getAudioFormat();
DataLine.Info dataLineInfo =
new 
DataLine.Info(
TargetDataLine.class,
audioFormat);
targetDataLine = (TargetDataLine)
AudioSystem.getLine(dataLineInfo);

//Create a thread to capture the microphone
// data into an audio file and start the
// thread running. It will run until the
// Stop button is clicked. This method
// will return after starting the thread.
new CaptureThread().start();
}catch (
Exception e) {
e.printStackTrace();
System.exit(0);
}
//end catch
}//end captureAudio method

//This method creates and returns an
// AudioFormat object for a given set of format
// parameters. If these parameters don't work
// well for you, try some of the other
// allowable parameter values, which are shown
// in comments following the declarations.
private AudioFormat getAudioFormat(){
float sampleRate 44100.0F;
//8000,11025,16000,22050,44100
int sampleSizeInBits 16;
//8,16
int channels 1;
//1,2
boolean signed true;
//true,false
boolean bigEndian false;
//true,false
return new AudioFormat(sampleRate,
sampleSizeInBits,
channels,
signed,
bigEndian);
}
//end getAudioFormat
//=============================================//

//Inner class to capture data from microphone
// and write it to an output audio file.
class CaptureThread extends Thread{
public 
void run(){
AudioFileFormat.Type fileType null;
File audioFile null;

//Set the file type and the file extension
// based on the selected radio button.
if(aifcBtn.isSelected()){
fileType AudioFileFormat.Type.AIFC;
audioFile = new File("junk.aifc");
}else if(
aiffBtn.isSelected()){
fileType AudioFileFormat.Type.AIFF;
audioFile = new File("junk.aif");
}else if(
auBtn.isSelected()){
fileType AudioFileFormat.Type.AU;
audioFile = new File("junk.au");
}else if(
sndBtn.isSelected()){
fileType AudioFileFormat.Type.SND;
audioFile = new File("junk.snd");
}else if(
waveBtn.isSelected()){
fileType AudioFileFormat.Type.WAVE;
audioFile = new File("test.wav");
}
//end if

try{
targetDataLine.open(audioFormat);
targetDataLine.start();
AudioSystem.write(
new 
AudioInputStream(targetDataLine),
fileType,
audioFile);
}catch (
Exception e){
e.printStackTrace();
}
//end catch

}//end run
}//end inner class CaptureThread
//=============================================//

}//end outer class Grabador.java 
__________________
:) Fernando Dichiera (:
[email protected]