Autor Zpráva
Darker
Profil
Dneska jsem se konečně rozhoupal k tomu, abych se naučil javu, ale moc se mi nedaří.
Čerpám z této stránky a už druhý příklad se mi nedaří zkompilovat. Zdá se, že po mě java chce, abych hlavní třídu pojmenoval jako soubor (nechápu ale „class Pokusd is public, should be declared in a file named Pokusd.java“ - soubor se jmenuje Pokus.java). Když ale pojmenuji třídu správně, vyblafne na mě takovéhle okénko.
Co se týče kompilace z PSPadu - soubor se zkompiluje, ale po spuštění jen blikne černé okénko. Mám to snad špatně nastavené?
Vůbec nechci dělat třídu, ale zdá se, že v javě je základem programu zrovna tak jako v C++ funkce.
Radek9
Profil
Darker:
Máš tam někde deklarovanou statickou metodu main?
Darker
Profil
Je to tak jak je to v těch příkladech (příklad 2). Koncepci javy moc nechápu, tu metodu přidám. Co má ta metoda dělat?
Pro jistotu můj kód:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;

public class Pokus extends Applet{

  String text = "I'm a simple applet";

  public void init() {
    text = "I'm a simple applet";
    setBackground(Color.cyan);
  }

  public void start() {
        System.out.println("starting...");
  }

  public void stop() {
        System.out.println("stopping...");
  }

  public void destroy() {
        System.out.println("preparing to unload...");
  }

   public void paint(Graphics g){
    System.out.println("Paint");
    g.setColor(Color.blue);
    g.drawRect(0, 0, 
           getSize().width -1,
           getSize().height -1);
    g.setColor(Color.red);
    g.drawString(text, 15, 25);
   }
}



A zajímalo by mě, proč tu má flash dvě sekce a java ani jednu...
abc
Profil
Darker:
viz. [#2] Radek9 chybí public static void main
Darker
Profil
Už ji tam mám, pořád nic. Vyskakuje stejné okénko.
  public static void main() {
  
  
  };
Chamurappi
Profil
Reaguji na Darkera:
zajímalo by mě, proč tu má flash dvě sekce a java ani jednu
Protože tu Java skoro nikoho nezajímá (podobně jako .NET). A aplety už vůbec nikoho, těm patří čestné místo v muzeu technologií devadesátých let.

Co má ta metoda dělat?
Něčím ten běh programu začít musí. Tady to není jako v JavaScriptu, že všechno, co je mimo funkce/třídy, se postupně spouští.
Marek88
Profil
Co vím, tak applet by snad public static void main() mít neměl (má místo toho start, init,...).

Zkus na úplně první řádek přidat package nazev_projektu; a poté spustit soubor pomocí shift+F6 neboli "Run file" z kontextové nabídky souboru. Mě to tak funguje i když projekt jako celek se přeložit nechce.
Darker
Profil
Program mi to nebral, jelikož funkci main chyběly parametry.
public static void main(String[] args)
Čekal jsem že to, že celou hlavní třídu stavím na jiné třídě Applet znamená, že se ty metody, které jsou v příkladu nějak spustí samy (podobně jako WinApi samo řeší eventy u okna). Html kam jsem applet vložil akorát dělá, jako že se pořád načítá.

Marek88:
package nazev_projektu;
Mám.
Tušíš proč se to nechová jako applet?


Trochu mě zlobí, že se v té funkci main nedá nic moc dělat:
non-static method setBackground(java.awt.Color) cannot be referenced from a static context
Marek88
Profil
Darker:
Tušíš proč se to nechová jako applet?
Protože:

Marek88:
Co vím, tak applet by snad public static void main() mít neměl (má místo toho start, init,...).

Já stáhnul ten příklad, co odkazuješ. Přidal jsem správný package a spouštím jen ten soubor (ne celý projekt) a funguje to... Jakmile přidám třeba i prázdnou metodu public static void main(String[] args), tak se soubor přestane chovat jako applet a nic neudělá.
Darker
Profil
Děkuju, teď už mi to funguje jak má. Asi si budu chvíli hrát.
S javou jsem začal abych si pomocí appletů doplnil věci, které neumí javascript (například nahrát na web obrázek ze schránky windows, abych je nemusel pořád ukládat.).
Teď mě zlobí že stránka, do které se má načíst applet nic nedělá a jakoby se pořád načítá. Neexistuje nějaké zabezpečení zakazující applety načítané do HTML na disku? Podobně jako IE nadává na skriptu v HTML mimo web?


Aha, ona mi vůbec nefunguje java. Príma.


Asi budu pokračovat na nějakém fóru zaměřeném na javu, děkuju všem za pomoc.
Marek88
Profil
Darker:
například nahrát na web obrázek ze schránky windows, abych je nemusel pořád ukládat
Nevím, ale něco mi říká, že ti to applet z bezpečnostních důvodů nedovolí... Já mám javu rád a zkoušel jsem si udělat applet na multiupload souborů. Narazil jsem na bezpečnostní překážky a tak jsem to vzdal. Byl to můj první a poslední java applet, takže možná že když se budeš snažit, tak s tím dokážeš víc.

Nicméně pokud to chceš mít hlavně na věci pro sebe, tak to nemusí být na webu, ale může to běžet u tebe v PC (ne jako applet ale jako normální java aplikace). Pak s tím můžeš dělat co chceš.
Darker
Profil
Marek88:
Nevím, ale něco mi říká, že ti to applet z bezpečnostních důvodů nedovolí...
Musí být podepsaný - pak to vyvolá potvrzovací okénko a pokud souhlasíš, aplikace má zvýšená oprávnění.
Podepsaná.
Nepodepsaná.

Nicméně pokud to chceš mít hlavně na věci pro sebe
Nejsem přece sobec...

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: