Создайте проект JavaFX без NetBeans - PullRequest
2 голосов
/ 31 января 2009

Я пытаюсь выучить JavaFX и, возможно, создать несколько "обучающихся" игр. Я всегда делаю свою разработку в Eclipse, а не в NetBeans, которую команда JavaFX явно пытается продвинуть.

Кто-нибудь может подсказать мне, как создать проект JavaFX в Eclipse или, по крайней мере, построить проект JavaFX без NetBeans? Все, что я нашел до сих пор, использует NetBeans, или они запускают однофайловый проект в Eclipse (ведьма не будет работать для более крупных проектов). В идеале я ищу кого-то, кто установил простой скрипт Ant, который создает проект JavaFX, так как я предполагаю, что это конечная игра для этой ситуации.

Мне удалось найти, где можно скачать плагин Eclipse JavaFX . Он обеспечивает поддержку подсветки синтаксиса, а также некоторые «фрагменты». Я даже могу использовать его для запуска простых приложений JavaFX типа hello world, но я не могу заставить его автоматически создавать многофайловые проекты JavaFX. Даже если бы я мог, я все еще не могу написать правильный скрипт ant, чтобы испортить проект JavaFX.

Кроме того, я обнаружил этот сайт , который рассказывает о том, что вы можете сделать, чтобы использовать javafxc Ant-задачу, созданную Sun (?), Но мне не повезло, пытаясь использовать то, о чем они говорят.

Спасибо

Ross

Ответы [ 5 ]

4 голосов
/ 02 февраля 2009

Если вы создаете новый проект в NB, есть папка с именем nbproject. Эта папка содержит build-impl.xml. Этот файл содержит эту цель:

<target if="src.dir" name="-compile-fx">
    <taskdef classname="com.sun.tools.javafx.ant.JavaFxAntTask" classpath="${platform.bootcp}" name="javafxc"/>
    <javafxc bootclasspath="${platform.bootcp}" classpath="${build.classes.dir}:${javac.classpath}" compilerclasspath="${platform.bootcp}" debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${build.classes.dir}" excludes="${excludes}" fork="yes" includeJavaRuntime="false" includeantruntime="false" includes="**/*.fx" source="${javac.source}" sourcepath="" srcdir="${src.dir}" target="${javac.target}">
        <compilerarg line="${javac.compilerargs}"/>
    </javafxc>
</target>

Это хорошее начало для создания муравья для Eclipse. Я не уверен, как работает сборка для Eclipse, но могут быть ограничения. com.sun.tools.javafx.ant.JavaFxAntTask находится в SDK, а не в jar-файле компилятора. Удачи!

1 голос
/ 28 октября 2009

После того, как я задал этот вопрос, был выпущен официальный (я думаю?) Плагин JavaFX для Eclipse. Перейдите на страницу JavaFX для Eclipse . Я установил плагин и все автоматически работало!

1 голос
/ 03 февраля 2009

Я создал частичный Ant-скрипт для процесса сборки. Я могу сказать, что он на самом деле компилирует классы JavaFX и их разделяет. Тем не менее, я думаю Я пропускаю задачу Ant, в которой я создаю объект JNLP , который необходим в апплете , который также отсутствует (но мне удалось подделать).

Так как я не указал это явно, я не перевел это в рабочее состояние, поэтому не ожидайте, что доберетесь до этого, просто выполнив то, что я сделал;)

Этот скрипт Ant, насколько я понял. Я упустил все, кроме важных частей для краткости ...

<project name="RABfx" default="all" basedir=".">
    ... 
    <property environment="env"/>
    <property name="java.home" value="${env.JAVA_HOME}" />
    <property name="jfx.home" value="${env.JAVAFX_HOME}" />
    <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="compile">
        <javac srcdir="${src}" destdir="${src.classes}" includes="**/*.java">
            <classpath refid="compile.classpath" />
        </javac>
        <javafxc srcdir="${src}" destdir="${src.classes}" includes="**/*.fx" executable="${jfx.home}/bin/javafxc.exe">
            <classpath refid="compile.classpath" />
        </javafxc>
        ...
    </target>

    <target name="build">
        <jar jarfile="${src.jar}">
            <fileset dir="${src.classes}" />
        </jar>
    </target>
    ...
</project>

Также мой "фальшивый" апплет ...

...
<script src="http://dl.javafx.com/dtfx.js"></script>
<script>
    javafx(
        {
            archive: "RABfx.jar",
            width: 440,
            height: 560,
            code: "TicTacToe.Main",
            name: "TicTacToe"
        }
    );
</script>
...
1 голос
/ 01 февраля 2009

В статье о JavaFX я читал, что для него доступно расширение Eclipse. Согласно этой статье, она не настолько развита, как поддержка FX в NetBeans, но должна быть лучше, чем ничего ...

0 голосов
/ 03 февраля 2009

Либо используйте упомянутую выше JavaFxAntTask, либо сгенерируйте проект в NetBeans и откройте его в Eclipse, а затем вы можете просто запустить цели Ant. Или дождитесь версии 1.1, которая, как мы надеемся, будет поставляться с полной поддержкой Eclipse и IDEA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...