Problemas com JApplets

17 respostas
S

Olá !! Por favor, me ajudem. Não consigo criar JApplets, já usei o HTML converter, reinstalei o jre e jdk, até o plug-in pro navegador e nada da Applet swing rodar..

abaixo os códigos:
import java.io.IOException;
 import java.io.PrintStream;
 import java.net.Socket; //1
 import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.JApplet;
import javax.swing.*;

public  class LULA2 extends JApplet implements ActionListener{
    
    /** Initialization method that will be called after the applet is loaded
     *  into the browser.
     */

 Label Avisos;   
 JButton Sol;
     	
     	// Obs, passar essas variáveis como parâmetro vindas da servlet 
     	
    public void init() {
    Label Avisos = new Label();
    Sol = new JButton(); 
ImageIcon imagem = new ImageIcon("saopaulo.jpg"); //caminho da imagem 
Sol.setIcon(imagem); // configura a imagem ao botao. 
Sol.setPreferredSize(new Dimension(imagem.getIconWidth(),imagem.getIconHeight())); // para ficar do tamanho da imagem 

    add(Avisos);
    
       
    } 

    public void paint(Graphics g) {
        
    }
    
    
    	public void actionPerformed(ActionEvent e)   
{   
    if (e.getSource()==Sol)   
    {   
    Avisos.setText("Clicou!");	
    
          
       
    } 
   
    	  
    	
}
do html antes de converter:
<html>
<applet code="LULA2.class">
</applet>
</html>
html depois de convertido:
<html>
<!--"CONVERTED_APPLET"-->
<!-- HTML CONVERTER -->
<object
    classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    codebase = "http://java.sun.com/update/1.6.0/jinstall-6u70-windows-i586.cab#Version=6,0,0,6"
    >
    <PARAM NAME = CODE VALUE = "LULA2.class" >
    <param name = "type" value = "application/x-java-applet;version=1.6">
    <param name = "scriptable" value = "false">

    <comment>
	<embed
            type = "application/x-java-applet;version=1.6" \
            CODE = "LULA2.class"
	    scriptable = false
	    pluginspage = "http://java.sun.com/products/plugin/index.html#download">
	    <noembed>
            
            </noembed>
	</embed>
    </comment>
</object>

<!--
<APPLET CODE = "LULA2.class">


</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->

</html>

Agradeço a ajuda de vocês ^^
VLWWWW :D

17 Respostas

R

Olá,

não compreendi perfeitamente o seu problema, mas vamos ver se conseguimos fazer alguma coisa.

eis o código abaixo

<%@ page isELIgnored="false" %>
<%@ taglib uri="tag/impressao" prefix="imp" %>

<html>

<head>
	<title>Aplicação Exemplo - Impressão com Applets</title>
</head>

<body>
	
	<center>

	<applet code="aplicacao.applet.ImpressaoApplet" codebase="/ImpressaoWeb/jsp/" archive="print.jar" align="middle" height="300" width="500">

		<imp:ImpressaoParametrosTag lista="${listaBoletos}" url="" />

	</applet>
	
	</center>
</body>

</html>

dessa forma eu consigo chamar um applet e funciona perfeitamente … algumas coisas …

code: caminhos dos pacotes até a classe Applet
codebase: a pasta onde esta o jar que contem o applet
archive: o arquivo jar

se o problema n for o codigo do seu applet, deve funcionar direitinho … qlqer duvida … só dizer …

[]s

S

vai no console do java plugin e cola a stack ai pq se não fica difícil hehe

[]'s

S

não consegui… vc está usando JSP, no meu projeto eu deixei jsp de lado, estou chamando a applet por um servlet, por isso queria saber como faz no HTML normalmente. não entendi o que vc falou tb

Obrigado pela ajuda ^^

S

eu fiz o .jar com a imagem e a applet dentro, adicionei a tag archive e depois de convertido ficou asism:

&lt;html&gt;
&lt;!--"CONVERTED_APPLET"--&gt;
&lt;!-- HTML CONVERTER --&gt;
&lt;object
    classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    codebase = "http://java.sun.com/update/1.6.0/jinstall-6u70-windows-i586.cab#Version=6,0,0,6"
    &gt;
    &lt;PARAM NAME = CODE VALUE = "LULA2.class" &gt;
    &lt;PARAM NAME = ARCHIVE VALUE = "LULA.jar" &gt;
    &lt;param name = "type" value = "application/x-java-applet;version=1.6"&gt;
    &lt;param name = "scriptable" value = "false"&gt;

    &lt;comment&gt;
	&lt;embed
            type = "application/x-java-applet;version=1.6" \
            CODE = "LULA2.class" \
            ARCHIVE = "LULA.jar"
	    scriptable = false
	    pluginspage = "http://java.sun.com/products/plugin/index.html#download"&gt;
	    &lt;noembed&gt;
            
            &lt;/noembed&gt;
	&lt;/embed&gt;
    &lt;/comment&gt;
&lt;/object&gt;

&lt;!--
&lt;APPLET CODE = "LULA2.class" ARCHIVE = "LULA.jar"&gt;


&lt;/APPLET&gt;
--&gt;
&lt;!--"END_CONVERTED_APPLET"--&gt;

&lt;/html&gt;

mas não funciona ainda =/

R

shamanpyro:
não consegui… vc está usando JSP, no meu projeto eu deixei jsp de lado, estou chamando a applet por um servlet, por isso queria saber como faz no HTML normalmente. não entendi o que vc falou tb

Obrigado pela ajuda ^^

de certa forma ele tem razao hehe …

mas vamos lá …

o codigo que eu te passei n é especifico pra JSP … faça um teste … crie um applet simples … que escreva “hello world”, algo bem trivial …

feito isso, gere um jar com esse applet … vamos supor que a esturutra de pacotes do seu Jar esta da seguinte forma … applet.teste.MeuApplet, onde MeuApplet é sua classe que extende JApplet.

pegue o jat que vc criou e coloque juntamente na pasta onde se encontra o html ou a JSP que vai utilizar o applet, sei la … suponho que vc tem algum diretorio chanmado “html”

entao ficaria assim …

/html (diretorio)

minhapagina.html / minhapagina.jsp
meuJar.jar

dentro de minhapagina.html vc vai usar o código que eu te passei da seguinte maneira …

&lt;applet code="applet.teste.MeuApplet" codebase="/DiretorioROOT/html/" archive="meuJar.jar" 
align="middle" height="300" width="500"&gt;
&lt;/applet&gt;

entendeu!?

se vc puder printar tbm o stack seria legal :smiley:

[]s

S

desculpe a ignorancia mas não sei o que é stack ou onde pega ^^. Para facilitar a coisa, está tudo no mesmo diretório… farei o helloworld e em 5 mins digo o resultado

S

Hmm, enquanto os recursos usados são awt funcionou. vou testar agora com recursos swing

S

é, não funcionou. Pelo menos a applet carrega agora. Mas, fica tudo branco =/

import javax.swing.JApplet;
import javax.swing.*;
import java.awt.*;

public  class OiMundo extends JApplet{
JLabel Avisos, ue;
public void init() {
     Avisos = new JLabel("Iniciou certinho! again!");
    add(Avisos);
     ue = new JLabel("ue, q p*** e essa?");
    add(ue);


}

 public void paint(Graphics g) {

    }


}

Valew mais uma vez pela ajuda, se o erro mudou, bom sinal!! :smiley:

S

realmente, ele não reconhece os componentes swing. no exemplo acima, eu troque a JLabel ue para Label. Ele passa a rodar, mas só aparece a frase da ue, do Avisos não aparece. Alguem sabe como solucionar isso?

S

stack seria a "stacktrace" de exceções que o applet gerou por não ter funcionado corretamente. Pra ter acesso ao console tem 2 maneiras.

  • FireFox: " Ferramentas > Java Console"
  • Quando estiver abrindo o applet note que o ícone do java irá aparecer no tray (pertinho do relógio) dali tu pode dar 2 clicks que se não me engano ele cai direto no java console.

[]'s

S

é isso:

Java Plug-in 1.6.0_07
Using JRE version 1.6.0_07 Java HotSpot™ Client VM
User home directory = C:\Documents and Settings\eduardoc


c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>

?

eu coloco 0 a 5 e não acontece nada

E

Não sei não…Mas acho que essa leitura do arquivo local ai está impedindo a applet de rodar no browser. A applet não pode acessar recursos locais, a menos que seja assinada…Tente assinar a applet…Tem vários tópicos sobre assinatura de applets aqui no GUJ.

S

valew a resposta ^^. mas a applet está no proprio pc que a hospeda, então ela poderia acessar os arquivos. Além diss, não estou usando ainda os arquivos, no texte que eu fiz, mesmo ao usar uma única JLabel, o que acontece é que a tela fica toda branca, diz que o applet foi started mas efetivamente não funciona :frowning:

S

stack

Java Plug-in 1.6.0_07
Using JRE version 1.6.0_07 Java HotSpot™ Client VM
User home directory = C:\Documents and Settings\eduardoc


c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>

Dump thread stack …

2008-07-25 11:46:29
Full thread dump Java HotSpot™ Client VM (10.0-b23 mixed mode, sharing):

"TimerQueue" daemon prio=6 tid=0x02bfbc00 nid=0xc84 in Object.wait() [0x07eef0000x07eefd94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x209fa160> (a javax.swing.TimerQueue)

at javax.swing.TimerQueue.run(Unknown Source)

- locked <0x209fa160> (a javax.swing.TimerQueue)

at java.lang.Thread.run(Unknown Source)
"ConsoleWriterThread" daemon prio=6 tid=0x05aea800 nid=0xf14 in Object.wait() [0x06d9f0000x06d9fa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x21176200> (a java.lang.Object)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)

- locked <0x21176200> (a java.lang.Object)
"AWT-EventQueue-1" prio=6 tid=0x05c6d800 nid=0x804 waiting on condition [0x06aff0000x06affa94]

java.lang.Thread.State: RUNNABLE

at com.sun.deploy.util.ConsoleHelper.dumpAllStacksImpl(Native Method)

at com.sun.deploy.util.ConsoleHelper.dumpAllStacks(Unknown Source)

at sun.plugin.util.PluginConsoleController.dumpAllStacks(Unknown Source)

at com.sun.deploy.util.ConsoleWindow$2.actionPerformed(Unknown Source)

at javax.swing.JComponent$ActionStandin.actionPerformed(Unknown Source)

at javax.swing.SwingUtilities.notifyAction(Unknown Source)

at javax.swing.JComponent.processKeyBinding(Unknown Source)

at javax.swing.KeyboardManager.fireBinding(Unknown Source)

at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)

at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)

at javax.swing.JComponent.processKeyBindings(Unknown Source)

at javax.swing.JComponent.processKeyEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)
"TimerQueue" daemon prio=4 tid=0x05c56800 nid=0xc8c in Object.wait() [0x0673f0000x0673fb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x21160d98> (a javax.swing.TimerQueue)

at javax.swing.TimerQueue.run(Unknown Source)

- locked <0x21160d98> (a javax.swing.TimerQueue)

at java.lang.Thread.run(Unknown Source)
"thread applet-OiMundo.class" prio=4 tid=0x05c6d000 nid=0xd84 in Object.wait() [0x064af0000x064afc14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x21160e10> (a sun.plugin.AppletViewer)

at java.lang.Object.wait(Object.java:485)

at sun.applet.AppletPanel.getNextEvent(Unknown Source)

- locked <0x21160e10> (a sun.plugin.AppletViewer)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-0" prio=6 tid=0x05ac8400 nid=0x360 in Object.wait() [0x063af0000x063afd14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2110eb18> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x2110eb18> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-EventQueue-2" prio=4 tid=0x05ac7000 nid=0x728 in Object.wait() [0x062af0000x062afa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x211610a0> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x211610a0> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)
"CacheCleanUpThread" daemon prio=6 tid=0x02cbdc00 nid=0xde4 in Object.wait() [0x05eaf0000x05eafd14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e250> (a com.sun.deploy.cache.CleanupThread)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.cache.CleanupThread.run(Unknown Source)

- locked <0x2111e250> (a com.sun.deploy.cache.CleanupThread)
"CacheMemoryCleanUpThread" prio=6 tid=0x05ab0400 nid=0xd30 in Object.wait() [0x05daf0000x05dafd94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e348> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x2111e348> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
"traceMsgQueueThread" daemon prio=6 tid=0x02cb6400 nid=0x9b4 in Object.wait() [0x05aaf0000x05aafa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111fdb8> (a java.util.ArrayList)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)

- locked <0x2111fdb8> (a java.util.ArrayList)

at java.lang.Thread.run(Unknown Source)
"AWT-Windows" daemon prio=6 tid=0x02caa000 nid=0xb54 runnable [0x059af0000x059afa94]

java.lang.Thread.State: RUNNABLE

at sun.awt.windows.WToolkit.eventLoop(Native Method)

at sun.awt.windows.WToolkit.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)
"AWT-Shutdown" prio=6 tid=0x02ca9800 nid=0x1b4 in Object.wait() [0x058af0000x058afb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e4a8> (a java.lang.Object)

at java.lang.Object.wait(Object.java:485)

at sun.awt.AWTAutoShutdown.run(Unknown Source)

- locked <0x2111e4a8> (a java.lang.Object)

at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x02ca8000 nid=0x368 in Object.wait() [0x057af0000x057afb94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e538> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x2111e538> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at sun.java2d.Disposer.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x02bf0800 nid=0xdb8 runnable [0x00000000…0x00000000]
java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x02beb400 nid=0xe58 waiting on condition [0x00000000…0x054af940]
java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x02bea000 nid=0xc94 runnable [0x00000000…0x00000000]
java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x02be9000 nid=0xd20 runnable [0x00000000…0x00000000]
java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x02be1400 nid=0xce8 in Object.wait() [0x051af0000x051afa94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e768> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x2111e768> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x02be0400 nid=0xa18 in Object.wait() [0x050af0000x050afb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x2111e140> (a java.lang.ref.Reference$Lock)

at java.lang.Object.wait(Object.java:485)

at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

- locked <0x2111e140> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x024f8c00 nid=0x88c runnable [0x00000000…0x0012f7c8]
java.lang.Thread.State: RUNNABLE

"VM Thread" prio=10 tid=0x02bdf400 nid=0xb14 runnable

"VM Periodic Task Thread" prio=10 tid=0x02c02800 nid=0x2d4 waiting on condition

f7c8]
java.lang.Thread.State: RUNNABLE

"VM Thread" prio=10 tid=0x02bdf400 nid=0xb14 runnable

"VM Periodic Task Thread" prio=10 tid=0x02c02800 nid=0x2d4 waiting on condition


Done.
Trace level set to 1: basic … completed.
Trace level set to 2: basic, net … completed.
Trace level set to 3: basic, net, security … completed.
Trace level set to 4: basic, net, security, ext … completed.
Trace level set to 5: all … completed.

S

cara tu sobreescreveu o paint

public void paint(Graphics g) {

}

rodei esse helloword teu aqui e funcionou.

S

verdade, agora funcionou ^^
VLW

S

Ixi… não roda no browser!! alguem sabe como faz pra rodar no browser? só roda no appletviewver

Criado 25 de julho de 2008
Ultima resposta 25 de jul. de 2008
Respostas 17
Participantes 4