Problemas com JApplets

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:

[code]
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!”);

} 

} [/code]

do html antes de converter:

<html>
<applet code="LULA2.class">
</applet>
</html>

html depois de convertido:

[code]
<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”>

&lt;comment&gt;
&lt;embed
        type = "application/x-java-applet;version=1.6" \
        CODE = "LULA2.class"
    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;

</object>

<!–
<APPLET CODE = “LULA2.class”>

</APPLET>
–>
<!–“END_CONVERTED_APPLET”–>

</html>[/code]

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

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

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

[]'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 ^^

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 =/

[quote=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 ^^[/quote]

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

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

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

é, 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:

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?

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

é 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

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.

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:

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() [0x07eef000…0x07eefd94]
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() [0x06d9f000…0x06d9fa14]
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 [0x06aff000…0x06affa94]
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() [0x0673f000…0x0673fb14]
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() [0x064af000…0x064afc14]
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() [0x063af000…0x063afd14]
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() [0x062af000…0x062afa14]
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() [0x05eaf000…0x05eafd14]
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() [0x05daf000…0x05dafd94]
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() [0x05aaf000…0x05aafa14]
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 [0x059af000…0x059afa94]
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() [0x058af000…0x058afb14]
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() [0x057af000…0x057afb94]
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() [0x051af000…0x051afa94]
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() [0x050af000…0x050afb14]
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.

cara tu sobreescreveu o paint

public void paint(Graphics g) {

}

rodei esse helloword teu aqui e funcionou.

verdade, agora funcionou ^^
VLW

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