Diskuze: Java native
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Tak se vloudila chybička. Kolega nepochopil, jak to funguje, takže po mě
chtěl nesmysl
Ale mám jiný dotaz - nevíte někdo, jak správně nakompilovat na debianu v
openjfk tu java fxml aplikaci? Nechce to zkompilovat importy, hlásí, že
nebyly nalezeny "import javafx.application.Application;" atd.
Tak jsem přišla na to, že fxml se prý nedá v openjdk pod linuxem zkompilovat. Je to pravda? Zkusila jsem udělat test ve swingové aplikaci s využitím Eclipse a Window Builderu. Kompiluji ručně v terminálu. Mám soubor, pojmenovaný Test.java. Zkompiluji ho příkazem javac a kromě třídy Test.class se objeví ještě třída Test$1.class. Když kompiluji čistý kód bez formuláře, tak se objeví jenom Test.class a pak ji bez problémů pomocí javah -jni Test zkompiluji a vyhodí mi h soubor. ale s těmi dvěma třídami si nevím rady. Kompiluji to vůbec dobře?
Soubory s příponou fxml se nekompilují, zůstávají v textové
podobě.
Test$1.class se vytvoří, protože uvnitř třídy Test je
nějaká anonymní třída.
S JNI jsem zatím nepracoval...
Nabízí se hromada otázek. Snažíš se zkompilovat ten fxml soubor nebo aplikaci používající fxml soubor? Protože fxml soubor sám o sobě se nekompiluje. Dále pokud to vytváříš v Eclipse, proč to přímo tam rovnou nezkompiluješ? Proč to testuješ na swingové aplikaci, když fxml se používá v JavaFX? A v neposlední řadě, pokud se to snažíš propojit s programem v C++, proč to rovnou neudělat v C++ za pomocí Qt?
Já mám za úkol udělat grafické rozhraní v Javě. Kolega dělá C++. Proč to tak vymysleli, to nevím. JavaFX nejde zkompilovat pod openJDK. Takže musím přejít na swing. OpenJDK je podmínka kvůli licencím. A v Eclipse jsem si s tím neporadila, protože skoro všechny tutoriály jsou na Windows
To se mi nějak nezdá, že by JavaFx nešla s OpenJDK zkompilovat, pokud vím tak OpenJDK normálně JavuFX obsahuje. Tam bude nějaká zrada někde jinde. Jakou verzi OpenJDK tam máš a na jaké distribuci linuxu? Vyzkoušel bych si to u sebe...
OpenJDK 7, Linux Mint. Stačí tak?
Kolega to kompiloval u sebe a vyházelo mu to errory u fx importů
Aha zrovna se dočítám, že JavaFX sice je součástí projektu OpenJDK v podobě OpenJFX, ale podle všeho to OpenJFX není součástí instalačních balíčků v Mintu (a jiných distribucích).
Takže buď budeš muset ručně doinstalovat to OpenJFX, nebo můžeš zkusit to stáhnout a nainstalovat z Debianu Testing kde to mají (to bych moc nedoporučoval), nebo můžeš rovnou přejít na Debian Testing a nebo můžeš, jak jsi psala, použít Swing, což by mimochodem bylo asi nejjednodušší a nejlepší řešení.
Ještě bych možná být tebou zaměnil Eclipse za Netbeans, ale to už je čistě moje subjektivní poznámka
Já mám taky radši Netbeans, ale netušila jsem, že je i pro Linux
V NetBeans se dá fx nainstalovat jako plugin (Tools/plugins) a k tomu doporučuju Monet - je to scene builder integrovaný v N.B. stejně jako Swing, neotvírá se v novém okně jako FxSceneBuilder.
Díky, přišla jsem na to, že to dělá třída public void run, která zprovozňuje ten formulář. Nikdy jsem se s tím takhle nesetkala. Můžeš víc poradit, co s tím, nebo odkázat na nějaký zdroj?
Zobrazeno 14 zpráv z 14.