Пиша програма с Java7 и JavaFX2, но ще трябва да я покажа на хора, които имат достъп само до машини с инсталирана Java 6 (без JavaFX).
Има ли някакъв начин да намеря решение за това, освен да ги помоля да инсталират Java7 и JavaFX2?
Пиша програма с Java7 и JavaFX2, но ще трябва да я покажа на хора, които имат достъп само до машини с инсталирана Java 6 (без JavaFX).
Има ли някакъв начин да намеря решение за това, освен да ги помоля да инсталират Java7 и JavaFX2?
Теоретично да, но трябва да проверите дали това отговаря на лицензионните условия на Sun/Oracle, собственикът на JavaFX:
Можете да съдите инструменти като http://one-jar.sourceforge.net/ Те пакетират цялата ви Java в един буркан.
Друга възможност можете да объркате приложението си и да включите JavaFX. Но това също може да наруши условията на лиценза.
И двете решения може да са повече работа, отколкото усилията за инсталиране на JavaFX на компютъра на (един) клиент.
Опитайте JavaFX2 за JavaSE6
На страница: http://www.oracle.com/technetwork/java/javafx/downloads/index.html Изтегляне Изтегляне на JavaFX 2.2.3 за Java SE 6 ...
Може би можете да създадете самостоятелен пакет с приложения, като "свържете" вашата програма с Java 7 и JavaFX 2. По този начин не е нужно да се притеснявате какво е включено или не на машината на вашия потребител. Можете да прочетете повече за опаковането на самостоятелни приложения на http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm.
Ако използвате Eclipse JDT, можете да конфигурирате проектите си „Java Compiler“ чрез „Enable project specific settings“ до „Compiler compliance level“ стойност 1.6. Това трябва да създаде байт код във версия, подходяща за Java 1.6 VM. Предполагам, но не съм сигурен, че Eclipse също ще ви предупреди, ако използвате библиотечни елементи, които не присъстват във версията на библиотеката 1.6; въпреки че можете да внимавате за това със или без предупреждения. Както при предишните решения, JavaFX можете просто да пакетирате в JAR на вашето приложение, ако лицензионното споразумение го позволява.