JavaFX 2 против Swing для чистого настольного приложения Windows

Мне нужно написать настольное приложение, и с тех пор, как я начал использовать Swing, прошло много времени, поэтому у меня будет возможность освоить любую технологию.

Есть ли какие-либо преимущества в использовании моего приложения с использованием JavaFX 2?

 jewelsea14 мая 2012 г., 20:05
Чтобы получить хороший ответ, вам действительно нужно подробно описать предполагаемое приложение, в противном случае вопрос слишком открытый.
 assylias14 мая 2012 г., 18:59

Ответы на вопрос(2)

If you want a rich, graphically enhanced application, the features of JavaFX 2.0 may be very appealing. It is designed to give you a lot of creative control over your user experience and visuals. Just be sure that it is supported on your target platforms.... If you want a standard desktop application that runs on as many platforms as possible, then Swing is probably a safer choice (since Swing is guaranteed to be available as part of all modern Java distributions). It also has the advantage of more mature 3rd party libraries.

Ни один из них, вероятно, не заменит другого: они имеют несколько иное целевое использование и, вероятно, будут сосуществовать в течение многих лет.

 14 нояб. 2017 г., 20:22
Второй момент больше не является преимуществом после Java 8.
Решение Вопроса

4 года назад у меня возник тот же вопрос, и я пришел к выводу, что лучше всего будет использовать Swing, так как многие сторонние библиотеки все еще были написаны для Swing в те дни..0 от Sun обычно были немного грубыми (я сжег себя на JSF 1.0 и JPA 1.0 :-).

Сегодня многие библиотеки имеют аналоги JavaFX или доступны как библиотеки JavaFX. Тем не менее, есть также много библиотек, которые по-прежнему являются эксклюзивными Swing. Кроме того, я сделал несколько небольших вещей с JavaFX 2.0, и он кажется действительно завершенным. Я не сталкивался с любыми демонстрациями.

Вам необходимо проверить, сколько внешних библиотек пользовательского интерфейса вы собираетесь использовать, кроме Swing / JavaFX (и какой). Если ответа не много, или у многих есть альтернатива Java FX (или вы просто делаете это самостоятельно), я бы определенно выбрал JavaFX. Также вы все еще можете использовать компоненты Swing в JavaFX.

Как уже говорилось, JavaFX собирается отказаться от Swing в будущем, и Oracle, похоже, привержен JavaFX (он также будет с открытым исходным кодом). Поэтому я очень рекомендую JavaFX.

Status update 13 april 2014:

JavaFX has been opensource for some time now: https://wiki.openjdk.java.net/display/OpenJFX/Main The community is committed to JavaFX; JavaFX only libraries with no swing counterparts are starting to emerge. Oracle has proven to be committed on JavaFX.

В случае, если вы не были убеждены 2 года назад: JavaFX теперь определенно выглядит как путь. Хотя Swing, вероятно, будет долгое время, он в настоящее время находится в режиме обслуживания. Потребуется много усилий, чтобы полностью перенести большие приложения (например, IntellIJ или Netbeans) на JavaFX. И для таких больших приложений такой крупномасштабный порт, вероятно, не стоит в данный момент.

 05 сент. 2012 г., 05:23
"As stated JavaFX is going to deprecated" Как заявлено кем? Когда? Я бы не поверил, что если вы не предоставите ссылку на страницу в Oracle, которая поддерживает это утверждение. В претензию трудно поверить, так как a) AWT не считается устаревшим, & amp; б) по вашим собственным словам, компоненты Swing могут использоваться в Java FX.
 09 дек. 2012 г., 21:00
@ Vineet В самом деле, дополнительные "D" не должен был быть в этом предложении :-). JavaFX не будет устаревшим в ближайшее время (насколько я знаю). Я удалил лишние "d". Забавно, как одна буква может изменить весь смысл предложения ...
 06 сент. 2012 г., 18:33
@ Томпсон, я думаю, что он получил дополнительные "d" там. Я думаю, что он хотел сказать, что «JavaFX собирается отказаться от Swing». Посмотреть здесь:oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6
 06 сент. 2012 г., 11:36
@ Томпсон: Мне бы тоже хотелось это знать. (Возможно, он думает о:oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6 )
 DD.17 мая 2012 г., 15:20
Я использую Java FX 2 прямо сейчас ... кажется классным.

Ваш ответ на вопрос