webForumDet fria alternativet

swing med microsofts jvm?

4 svar · 275 visningar · startad av FredrikF

FredrikFMedlem sedan maj 200391 inlägg
#1

Nån som har haft problemet att swing-applets inte går att köra på microsoft jvm-utrustade webbläsare? Har hört att det skall gå att lägga en jar-fil innehållandes samtliga swing-klasser i lib-mappen på servern. Detta fungerar dock inte för mig. Min applet använder sig av swing-komponenter, nätverksansluttning till en servlet samt annat nätrelaterat. Klasserna är kompilerade med jdk1.2 för säkerhets skull.

Nån som har erfarenheter att dela med sig av?

jmeMedlem sedan maj 20011 967 inlägg
#2

Om jag vet rätt så tödjer Microsofts JVM inte Swing. För att kunna dra nytta av Swing måste du antingen köra med Java2 (dvs. version 1.2 och uppåt). I tidigare Java versioner (fram till 1.1.8) inkluderades inte Swing klasserna utan dem fick man ladda ned separat och installera i lib katalogen.

Jag rekommenderar att du installerar det allra senaste Java2 SDK:t(1.4.2 tror jag) på din dator. Sedan måste du kontrollera att din(a) webläsare har Java-stödet på. T ex i Internet Explorer kan man välja om man vill använda sig utav Microsofts egen JVM eller Sun's JVM.

Sen behöver inte servern ha det senaste JVM bara för att appletten skall kunna använda Swing. När du besöker en sida med en Java-applet så laddas appletten ned på din dator och då körs den av din dators JVM.

Sen vad som gäller servlets - de använder sig inte varken AWT eller Swing. Vill man ha ett grafiskt gränssnitt på servlets så görs det med html.

Ifall jag nu raddar upp felaktiga saker så rätta mig gärna :)

FredrikFMedlem sedan maj 200391 inlägg
#3

lite missförstånd

>Om jag vet rätt så tödjer Microsofts JVM inte Swing. För att >kunna dra nytta av Swing måste du antingen köra med Java2
>(dvs. version 1.2 och uppåt). I tidigare Java versioner (fram till >1.1.8) inkluderades inte Swing klasserna utan dem fick man >ladda ned separat och installera i lib katalogen.

Jag vet att ms jvm inte stödjer swing eftersom den baseras på 1.1.8 och swing i sin helhet kom först i ver 1.3 (kring där)
Det är det som är problemet. Jag vill fläska upp varje klient som visar appleten med swingpaketet så att en webbläsare med ms jvm skall kunna se appleten.

>Jag rekommenderar att du installerar det allra senaste Java2 >SDK:t(1.4.2 tror jag) på din dator. Sedan måste du kontrollera >att din(a) webläsare har Java-stödet på. T ex i Internet Explorer >kan man välja om man vill använda sig utav Microsofts egen JVM >eller Sun's JVM.

Åter igen. Jag har utvecklat appleten med javas senaste sdk 1.4.1 i min dator. Det är hos klienten problemet ligger. Jag vill att klientdatorn skall kunna återge min applet med ms jvm precis som suns jvm gör (med de mindre grafiska skillnader som kan uppstå pga att de har implementerat motorn olika).

>Sen behöver inte servern ha det senaste JVM bara för att >appletten skall kunna använda Swing. När du besöker en sida >med en Java-applet så laddas appletten ned på din dator och >då körs den av din dators JVM.

I know. Men om inte klienten har suns plugin installerat finns inte swingklasserna med, då måste de på något sätt skickas till klienten, i mitt fall i en jar-fil. Detta fungera inte riktigt. Ibland verkar det gå igenom med en testapplet jag har (en klocka som ärver JApplet).

>Sen vad som gäller servlets - de använder sig inte varken AWT >eller Swing. Vill man ha ett grafiskt gränssnitt på servlets så >görs det med html.

Mina servlets gör ingenting grafiskt alls. Sådant sköts av mina jsp-sidor. Jag har en 3-skiktsuppdelning där mina servlets i sin tur anropar databaser osv. MCV-modellen även kallad.

>Ifall jag nu raddar upp felaktiga saker så rätta mig gärna.

Det har jag gjort, det var nog lite missförstånd mellan oss.

spangoMedlem sedan juni 20006 147 inlägg
#4

Rota runt på Javasoft och se om du kan hitta någon JAR med Swingklasserna (vilket du kanske redan gjort?), vilket jag är rätt säker att du borde kunna göra. Sedan kan du säga att JAR:en som din applet finns i behöver Swing med följande rad i manifestet:

Class-Path: swing.jar

Alt. kan du ju baka ihop alla i samma JAR.

Vidare hoppas jag att du får en trevlig sommar, för om du hittar en Swing-implementation som inte använder riktigt samma AWT-implementation som MS Java 1.1.8 eller vad det nu var kommer du antagligen att få många spännande timmar av inkompatibilitet :)

ChainsawMedlem sedan sep. 20001 282 inlägg
#5

Du kan inte köra Swing på någon version av Java innan 1.1.5 eller 1.1.6. Till de senare kan (eller kunde i alla fall tidigare) ladda ner ett fristående Swing-paket. Jag körde det själv under OS/2 med Java 1.1.8.

Dock är det helt kört att använda Swing under Microsofts JVM. Anledningen är att dom i sin <röst läge="ironi">oändliga</röst> vishet bestämde sig för att inte följa standarden för Java Native Interface. Vill du köra Swing så måste du köra en riktig JVM, inte något halvkompatibel gammalt monster.

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb