Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 28. 5. 2012, 21:03:38
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 |
#2 · Zasláno: 28. 5. 2012, 21:06:47
Darker:
Máš tam někde deklarovanou statickou metodu main? |
||
Darker Profil |
#3 · Zasláno: 28. 5. 2012, 21:13:34 · Upravil/a: Darker
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 |
#4 · Zasláno: 28. 5. 2012, 21:25:22
|
||
Darker Profil |
#5 · Zasláno: 28. 5. 2012, 21:27:44
Už ji tam mám, pořád nic. Vyskakuje stejné okénko.
public static void main() { }; |
||
Chamurappi Profil |
#6 · Zasláno: 28. 5. 2012, 21:30:21
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 |
#7 · Zasláno: 28. 5. 2012, 21:58:33
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 |
#8 · Zasláno: 28. 5. 2012, 22:02:17 · Upravil/a: Darker
Program mi to nebral, jelikož funkci main chyběly parametry.
public static void main(String[] args) 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 |
#9 · Zasláno: 28. 5. 2012, 22:11:50
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 |
#10 · Zasláno: 28. 5. 2012, 22:22:49 · Upravil/a: Darker
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 |
#11 · Zasláno: 28. 5. 2012, 22:45:21
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 |
#12 · Zasláno: 28. 5. 2012, 23:40:23
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... |
||
Časová prodleva: 12 let
|
0