3f-lab: FX подкрался незаметно
Все Java-технологии я люблю, все уважаю, а вот фреймворк JavaFX как-то никак не хотел вписываться в мои представления о любимом языке программирования. Он задуман как очередной «убийца Adobe Flash», но я не очень интересуюсь приложениями с «богатым» (aka насыщеным) интерфейсом. Несколько раз добросовестно пытался залезть на соответствующий сайт и вникнуть в суть, но каждый раз откладывал на потом. И это потом нагрянуло с самой неожиданной стороны…

Дело в том, что один из предметов, который преподаю в колледже, называется «Мультимедийные технологии». В принципе, под это понятие можно подогнать очень и очень многие современные концепции программирования. Например, веб-дизайн вполне можно рассматривать в этом разрезе, тем более что знания по HTML+JavaScript+CSS для многих студентов в новинку и с удовольствием усваиваются. Прочитав несколько лекций по веб-дизайну, я с удивлением обнаружил, что материал кончился: вдаваться в тонкости AJAX было бы уже выходом за рамки курса.
Куда двигаться дальше? Изучать Adobe Flash? Но для этого нет инструментов. Учить работать с видео и звуком? Опять-таки нет хороших редакторов. Вот тут-то я и вспомнил про JavaFX и сразу же прикрутил это дело к 3f-lab. Вот что для этого надо сделать.
1. Скачать дистрибутив JavaFX SDK.
2. Поместить его в ${LAB_HOME}/_bin/java
3. Сделать файл исполняемым и запустить в консоли. Процедура установки такая же, как для JDK и WTK.
4. Сделать линк:
на случай если в будущем версия обновится.
5. Дык всё! Можно создавать пробный проект
В проект копируем какой-нибудь нехитрый fx-скрипт из любого из многочисленных туториалов. Например такой:
Сохраняем это в файл frame.fx.
Теперь нужно настроить сборщик ant. Файл build.xml выглядит довольно хитро, но ничего уж слишком сложного:
После ввода в консоль команды ant в осадок выпадает файл frame.class, который запускается на исполнение командой
И выводит на экран вот что:

Не ахти какая красота, но если учесть, что на написание данного топика я затратил гораздо больше времени, чем на создание этой своей первой программы на JavaFX, технологию нельзя не назвать привлекательной. К тому же сулят, что одно и то же приложение будет работать и на десктопе, и на мобильном устройстве, причем не суперсовременном, а на обычном телефоне с поддержкой Java. Всё, камрады, мне некогда, надо кое-то переписать на JavaFX.

Дело в том, что один из предметов, который преподаю в колледже, называется «Мультимедийные технологии». В принципе, под это понятие можно подогнать очень и очень многие современные концепции программирования. Например, веб-дизайн вполне можно рассматривать в этом разрезе, тем более что знания по HTML+JavaScript+CSS для многих студентов в новинку и с удовольствием усваиваются. Прочитав несколько лекций по веб-дизайну, я с удивлением обнаружил, что материал кончился: вдаваться в тонкости AJAX было бы уже выходом за рамки курса.
Куда двигаться дальше? Изучать Adobe Flash? Но для этого нет инструментов. Учить работать с видео и звуком? Опять-таки нет хороших редакторов. Вот тут-то я и вспомнил про JavaFX и сразу же прикрутил это дело к 3f-lab. Вот что для этого надо сделать.
1. Скачать дистрибутив JavaFX SDK.
2. Поместить его в ${LAB_HOME}/_bin/java
3. Сделать файл исполняемым и запустить в консоли. Процедура установки такая же, как для JDK и WTK.
4. Сделать линк:
ln -s javafx-sdk-1.2.3/ javafxна случай если в будущем версия обновится.
5. Дык всё! Можно создавать пробный проект
mkdir -p ${LAB_HOME}/_projects/JFX_TEST/srcВ проект копируем какой-нибудь нехитрый fx-скрипт из любого из многочисленных туториалов. Например такой:
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
Stage {
title: "Declaring Is Easy!"
scene: Scene {
width: 300
height: 250
content: [
Rectangle {
x: 25, y: 80 width: 250, height: 80
arcWidth: 20 arcHeight: 20
fill: Color.web("#6699ff")
stroke: Color.web("#003399")
strokeWidth: 5.0
}, //Rectangle
Circle {
centerX: 150 centerY: 120 radius: 80
fill: Color.MAROON
stroke: Color.INDIANRED
strokeWidth: 10.0
} //Circle
] //Content
} //Scene
} //Stage
Сохраняем это в файл frame.fx.
Теперь нужно настроить сборщик ant. Файл build.xml выглядит довольно хитро, но ничего уж слишком сложного:
<?xml version="1.0" encoding="UTF-8"?>
<project name="FxTest" default="all" basedir=".">
<property environment="env"/>
<property name="java.home" value="/_bin/java/sun" />
<property name="jfx.home" value="/_bin/java/javafx" />
<path id="compile.classpath">
<fileset dir="${java.home}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${jfx.home}/lib">
<include name="**/*.jar" />
</fileset>
</path>
<taskdef classname="com.sun.tools.javafx.ant.JavaFxAntTask" name="javafxc">
<classpath refid="compile.classpath" />
</taskdef>
<target name="all">
<javafxc srcdir="." destdir="." includes="**/*.fx" executable="${jfx.home}/bin/javafxc">
<classpath refid="compile.classpath" />
</javafxc>
</target>
</project>После ввода в консоль команды ant в осадок выпадает файл frame.class, который запускается на исполнение командой
/_bin/java/javafx/bin/vafx frameИ выводит на экран вот что:

Не ахти какая красота, но если учесть, что на написание данного топика я затратил гораздо больше времени, чем на создание этой своей первой программы на JavaFX, технологию нельзя не назвать привлекательной. К тому же сулят, что одно и то же приложение будет работать и на десктопе, и на мобильном устройстве, причем не суперсовременном, а на обычном телефоне с поддержкой Java. Всё, камрады, мне некогда, надо кое-то переписать на JavaFX.

Комментарии (3)
RSS свернуть / развернутьFREExLOADER
yababay
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.