[Java]Nie działa applet napisany w Javie

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
paffcio87
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 24 wrz 2008, 19:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[Java]Nie działa applet napisany w Javie

Post autor: paffcio87 »

Witam właśnie rozpoczynam swoją przygodę z językiem Java i już na początku napotkałem mały problem:
W ramach testu skopiowałem skrypt z jakiejś strony, który wygląda następująco:

Kod: Zaznacz cały

import java.applet.*;
import java.awt.*;

public class firstAplet extends Applet
{
	public void paint (Graphics gDC)
	{
	gDC.drawLine(120, 120, 160, 40);
	gDC.drawLine(200, 120, 160, 40);
	gDC.drawLine(120, 120, 200, 120);
	gDC.drawLine(160, 200, 160, 120);
	gDC.drawOval(50, 50, 100, 100);
	gDC.fillOval(75, 75, 50, 50);
	}
}
i właśnie tu zaczynają sie schody w firefoxie wyskakuje mi jedynie szary prostokąt w lewym górnym rogu, a w operze pojawia się tylko mały kawałek tego co jest narysowane i teraz nie wiem czy jest to kwestia złego skonfigurowania javy czy jakiegoś błedu w kodzie. Doda, że testowałem jave wchodząc na jakiś czat na onecie i było ok.
Czy mógłbym prosić o pomoc? :)
Zapomniałem dodać jeszcze, że działam na ubuntu 10.04

EDIT:
Ok coś ruszyło posłużyło mi do tego trochę nerwów oraz 3 takie oto komendy:

sudo apt-get purge openjdk* icedtea*
sudo apt-get install sun-java6-plugin sun-java6-fonts
wget http://dl.dropbox.com/u/2552069/java.sh && sudo sh ./java.sh

Ale teraz w miejscu szarego prostokąta pojawia się napis "Error. Click here for detals a kiedy na to klikne to pojawia się okno z przyciskami Details i Ignore. Deteails'y pokazują mi co następuje:

Kod: Zaznacz cały

Java Plug-in 1.6.0_20
Using JRE version 1.6.0_20-b02 Java HotSpot(TM) Client VM
User home directory = /home/pawel
----------------------------------------------------
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
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>
----------------------------------------------------


java.lang.reflect.InvocationTargetException
	at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116)
	at sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3415)
	at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2967)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1444)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: HelloWorld cannot be cast to java.applet.Applet
	at sun.plugin2.applet.Plugin2Manager$12.run(Plugin2Manager.java:2955)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception: java.lang.reflect.InvocationTargetException
Co to znaczy dokładnie?
Awatar użytkownika
mate_haru
Sędziwy Jeż
Sędziwy Jeż
Posty: 47
Rejestracja: 05 paź 2006, 12:42
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: Fluxbox
Architektura: x86_64
Kontakt:

Odp: [Java]Nie działa applet napisany w Javie

Post autor: mate_haru »

No to po kolei ^^

Kod: Zaznacz cały

mateharu@335-mateharu:~$ sudo apt-get install sun-java6-jdk sun-java6-plugin
Teraz Twój kod:

Kod: Zaznacz cały

mateharu@335-mateharu:~$ vim FirstApplet.java
import java.applet.*;
import java.awt.*;

public class FirstApplet extends Applet {
    public void paint (Graphics gDC) {
        gDC.drawLine(120, 120, 160, 40);
        gDC.drawLine(200, 120, 160, 40);
        gDC.drawLine(120, 120, 200, 120);
        gDC.drawLine(160, 200, 160, 120);
        gDC.drawOval(50, 50, 100, 100);
        gDC.fillOval(75, 75, 50, 50);                                            
    }
}
Kompilacja napisanej klasy:

Kod: Zaznacz cały

mateharu@335-mateharu:~$ javac FirstApplet.java
Następnie prosty html, który będzie zawierał przed chwilą skompilowany aplet:

Kod: Zaznacz cały

mateharu@335-mateharu:~$ vim applet.html
<html>
    <head></head>
    <body>
        <applet code="FirstApplet.class" />
    </body>
</html>
Pozostaje otworzenie powyższego html-a w przeglądarce i podziwianie narysowanej strzałki i koła z dziurą :D
paffcio87
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 24 wrz 2008, 19:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Java]Nie działa applet napisany w Javie

Post autor: paffcio87 »

Wszystko niby ok tylko problem polega na tym, że w ogóle nie wyświetla mi się ten aplet. Zamiast tego w jego miejscu pokazuje mi się takie o to coś:

Obrazek

Próbowałem w operze i wywala mi napis "Could not instantiate". Także wydaje mi się, że z javą u mnie coś nie tak, ale about: plugins wywala mi w mozilli w części dotyczącej javy:
Java(TM) Plug-in 1.6.0_20

Plik: libnpjp2.so
Wersja:
The next generation Java plug-in for Mozilla browsers.

Typ MIME Opis Rozszerzenia Włączony
application/x-java-vm Java™ Plug-in Tak
application/x-java-applet Java™ Plug-in Applet Tak
application/x-java-applet;version=1.1 Java™ Plug-in Tak
application/x-java-applet;version=1.1.1 Java™ Plug-in Tak
application/x-java-applet;version=1.1.2 Java™ Plug-in Tak
application/x-java-applet;version=1.1.3 Java™ Plug-in Tak
application/x-java-applet;version=1.2 Java™ Plug-in Tak
application/x-java-applet;version=1.2.1 Java™ Plug-in Tak
application/x-java-applet;version=1.2.2 Java™ Plug-in Tak
application/x-java-applet;version=1.3 Java™ Plug-in Tak
application/x-java-applet;version=1.3.1 Java™ Plug-in Tak
application/x-java-applet;version=1.4 Java™ Plug-in Tak
application/x-java-applet;version=1.4.1 Java™ Plug-in Tak
application/x-java-applet;version=1.4.2 Java™ Plug-in Tak
application/x-java-applet;version=1.5 Java™ Plug-in Tak
application/x-java-applet;version=1.6 Java™ Plug-in Tak
application/x-java-applet;jpi-version=1.6.0_20 Java™ Plug-in Tak
application/x-java-bean Java™ Plug-in JavaBeans Tak
application/x-java-bean;version=1.1 Java™ Plug-in Tak
application/x-java-bean;version=1.1.1 Java™ Plug-in Tak
application/x-java-bean;version=1.1.2 Java™ Plug-in Tak
application/x-java-bean;version=1.1.3 Java™ Plug-in Tak
application/x-java-bean;version=1.2 Java™ Plug-in Tak
application/x-java-bean;version=1.2.1 Java™ Plug-in Tak
application/x-java-bean;version=1.2.2 Java™ Plug-in Tak
application/x-java-bean;version=1.3 Java™ Plug-in Tak
application/x-java-bean;version=1.3.1 Java™ Plug-in Tak
application/x-java-bean;version=1.4 Java™ Plug-in Tak
application/x-java-bean;version=1.4.1 Java™ Plug-in Tak
application/x-java-bean;version=1.4.2 Java™ Plug-in Tak
application/x-java-bean;version=1.5 Java™ Plug-in Tak
application/x-java-bean;version=1.6 Java™ Plug-in Tak
application/x-java-bean;jpi-version=1.6.0_20 Java™ Plug-in Tak
bogaczew
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 211
Rejestracja: 13 gru 2006, 21:12
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [Java]Nie działa applet napisany w Javie

Post autor: bogaczew »

1) nie trzeba wywalać icedtea, można doinstalować plugin od suna i przełączać się przez update-alternatives. listę pluginów do wyboru pokaże

Kod: Zaznacz cały

update-alternatives --list mozilla-javaplugin.so
2) w appletviewer twój kod działa dobrze? jak tak to pewnie źle w htmlu go osadzasz
paffcio87
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 24 wrz 2008, 19:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Java]Nie działa applet napisany w Javie

Post autor: paffcio87 »

W apletviewerze też nie chodzi. Zauważyłem też, że brakuje mi w Synaptic'u sun-java6-doc może tutaj tkwi problem szukałem po googlach jak to zainstalować ale niestety nic z tego ;/
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: [Java]Nie działa applet napisany w Javie

Post autor: mikolajs »

To czy masz dokumentację nie ma tu nic do rzeczy :)
Używam icedtea i przykład działa bez zarzutu. (zrób po kolei tak jak pisze mate_haru)

PS. a nie napisałeś przypadkiem w html: <applet code="FirstApplet.java" />
zamiast: <applet code="FirstApplet.class" /> ?
paffcio87
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 24 wrz 2008, 19:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Java]Nie działa applet napisany w Javie

Post autor: paffcio87 »

Z kodem raczej wszystko ok. Chyba nie mialem zainstalowanego tego icedtea teraz w miejscu apletu pokazuje mi się szary prostokąt...więc coś jakby ruszyło
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości