Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Java] Kod, który da się uruchomić pod przeglądarką

Ostatnio zmodyfikowano 2011-02-24 23:25
Autor Wiadomość
markon
Temat założony przez niniejszego użytkownika
[Java] Kod, który da się uruchomić pod przeglądarką
» 2011-01-14 19:46:25
witam,
w jaki sposób, należy pisać kod źródłowy w javie, tak by dało go się uruchomić za pomocą przeglądarki.
Nie chodzi mi tu o JavaScript
P-26533
SeaMonster131
» 2011-01-14 20:48:30
Poczytaj o apletach java :)

http://java.sun.com/applets/ - tutaj masz oficjalną strone Java i tam masz aplety :)
P-26536
markon
Temat założony przez niniejszego użytkownika
» 2011-01-14 23:03:08
czy kod javy w aplecie różni się czymś od zwykłej javy?
P-26551
Razi
» 2011-01-14 23:16:49
Różni się nieco budową klasy głównej: normalna aplikacja wymaga funkcji main, a aplet wymaga klasy implementującej Runnable.

Ale można pogodzić obie możliwości tworząc klasę mającą Runnable i main jednocześnie. Przykładowo tworzysz sobie osobno okienko (JFrame najlepiej) i klasę Main. Ja w JavaBlock rozwiązałem to tak:

public class Main extends JApplet implements Runnable {
    public flowchart Flow;
    public Main(){
        MainWindow w=new MainWindow();
        w.remove(w.menu);
        this.setLayout(new BorderLayout());
        this.add(w.menu, BorderLayout.PAGE_START);
        add(w.getContentPane(), BorderLayout.CENTER);
    }
    @Override
    public void init(){
        super.init();
    }
    public static void main(String argv[]) {
        MainWindow w=new MainWindow();
        w.show();
    }
    public void run() {
    }
}

Jak to działa? Mam klasę MainWindow która jest JFrame i ma całe okienko. W przypadku zwykłej aplikacji uruchamiana jest funkcja main, czyli tworzy okienko i je pokazuje.

W przypadku apletu, tworzony jest nowy obiekt Main dziedziczący po JApplet (potrzebny do apletów), czyli wywoływany jego konstruktor. W tym konstruktorze tworzone jest nowe okno, ale go nie pokazuje. Usuwa z niego menu (aplety mają z nimi problemy). Ustawia Layout JAppletu na BorderLayout (najłatwiejszy) i na PAGE_START (na samą górę) wsadza usunięte wcześniej menu, a na CENTER wsadza treść okna (panel główny, JFrame nie przyjmie).

Jak dotąd nie znalazłem innego sposobu na osadzenie menu w aplecie, ale ten działa bez zarzutu :)

Reszta kodu się niczym nie różni.

aplet:
http://javablock.sourceforge.net/applet.php
aplikacja:
http://javablock.sourceforge.net/JavaBlock.jar

to ten sam plik, możesz obejrzeć źródła z HTML:p
P-26552
markon
Temat założony przez niniejszego użytkownika
» 2011-02-06 11:28:17
jeśli już mam gotowy aplet to jak go dodać na stronę?
P-27872
SeaMonster131
» 2011-02-06 11:34:44
Nie pamiętam dokładnie...ale chyba przy kompilacji tworzy się plik *.html, otwierasz go i gotowe :)
P-27873
Razi
» 2011-02-24 23:25:28
jeśli nie masz pliku .jar (i nie potrzebujesz podpisu):
<APPLET CODE="MyApplet.class" WIDTH=100 HEIGHT=100>
<PARAM NAME=TEXT VALUE="Hi There">
<P>Hi There<P>
</APPLET>

lub

<applet
code="javablock/Main.class"
archive="http://javablock.sourceforge.net/JavaBlock.jar"
width="100%" height="600">

Oczywiście w code musisz dać ścieżkę (zględną: wg pliku html, lub archiwum) do pliku .class z metodą main().
No i przy drugim musisz dać ścieżkę (względną, czy też bezwzględną) do pliku .jar

No i wysokość i szerokość też musisz określić
P-28589
« 1 »
  Strona 1 z 1