Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Hanca Vondrova:2.11.2015 12:35

Krásný den,

potřebovala bych poradit. Nikdy jsem nedělala propojení s C++. Kolega potřebuje ovládací panel k jeho C++ aplikaci, která běží na strojírenském zařízení. Rozhraní toho panelu dělám v javě fxml. Kolega říká, že mě stačí nadefinovat proměnné k těm komponentám, které tam mám a on k nim bude přistupovat ze své aplikace. Může mi někdo, prosím, vysvětlit, co po mě chce, protože on to nedokáže? :-)

 
Odpovědět
2.11.2015 12:35
Avatar
Hanca Vondrova:3.11.2015 10:27

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.applica­tion.Applicati­on;" atd.

 
Nahoru Odpovědět
3.11.2015 10:27
Avatar
Atrament
Tvůrce
Avatar
Atrament:3.11.2015 21:59

No a jak to kompiluješ? V nějakém IDE a nebo snad ručně z příkazové řádky?

 
Nahoru Odpovědět
3.11.2015 21:59
Avatar
Hanca Vondrova:13.11.2015 12:23

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?

 
Nahoru Odpovědět
13.11.2015 12:23
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Hanca Vondrova
Hartrik:13.11.2015 12:55

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...

 
Nahoru Odpovědět
13.11.2015 12:55
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Hanca Vondrova
Atrament:13.11.2015 13:13

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?

 
Nahoru Odpovědět
13.11.2015 13:13
Avatar
Hanca Vondrova:13.11.2015 13:42

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

 
Nahoru Odpovědět
13.11.2015 13:42
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Hanca Vondrova
Atrament:13.11.2015 14:34

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...

 
Nahoru Odpovědět
13.11.2015 14:34
Avatar
Hanca Vondrova:13.11.2015 14:52

OpenJDK 7, Linux Mint. Stačí tak?

 
Nahoru Odpovědět
13.11.2015 14:52
Avatar
Hanca Vondrova:13.11.2015 14:53

Kolega to kompiloval u sebe a vyházelo mu to errory u fx importů

 
Nahoru Odpovědět
13.11.2015 14:53
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Hanca Vondrova
Atrament:13.11.2015 16:09

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 ;)

 
Nahoru Odpovědět
13.11.2015 16:09
Avatar
Hanca Vondrova:16.11.2015 8:38

Já mám taky radši Netbeans, ale netušila jsem, že je i pro Linux

 
Nahoru Odpovědět
16.11.2015 8:38
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Hanca Vondrova
ostrozan:16.11.2015 16:23

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.

 
Nahoru Odpovědět
16.11.2015 16:23
Avatar
Odpovídá na Hartrik
Hanca Vondrova:20.11.2015 14:08

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?

 
Nahoru Odpovědět
20.11.2015 14:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.