回答
它不是一个缺点/优势的情况,而是理解每个人可以提供什么,以及老话说“使用正确的工具来完成工作”。从雅虎
的JavaFX实际上是不同的语言(类似,但不同的语法),但它运行在JVM上,可以使用Java类。主要针对“RIA”(富互联网应用)开发,适用于各种设备。不少内置功能用于开发华丽的用户界面,而不需要像Java那样使用更加坚固的低级语言来完成所有输入。
真的,“比较”有点难; JavaFX利用Java &的所有优势为其开发RIA构建了一个平台。
- JavaFX需要一个JVM;但拥有Java并不意味着你拥有JavaFX。因此,JavaFX本质上并不属于Java的一部分。
- 因此,任何不支持Java的平台都不支持JavaFX(即iPhone,iPad)。
- 请注意,iPhone & iPad也不支持Flash,这是该领域的类似竞争对手。 (......也许的Flex或Silverlight是竞争的技术的更好的例子......)
来源(S):
Javafx wikiepdia
javafx at a glance
javafx homepage similar stackoverflow question
,我认为你是什么询问构建JavaFX桌面应用程序与Java Swing桌面应用程序的优缺点是什么。有两个实验后,我可以指出一些区别:
的Java Swing
优点:
- 更好的可视化设计器和IDE支持
- 更全功能的控件集
- 适用于在数据库顶部构建业务应用程序(如用户界面),而不需要超出标准(和第三方)控件的功能。
缺点
- 可怜的多媒体支持
- 大厦自定义控件或自定义皮肤是非常困难的
- 没有动画支持
- Java语法可尴尬构建UI。 IDE使得这个问题更少,但如果你需要手动执行任何操作,它会变得很难看。
JavaFX的
优点
- 体面的多媒体支持
- 轻松构建自定义控件,和所有现有的控制是使用CSS换肤功能(我没有尝试过的CSS尚未虽然) 。
- 动画支持很好 - 不如flash好,但对于基本动画来说足够好。
- 该语法似乎更适合构建用户界面,尤其是对手工编写用户界面 - 这很好,因为您需要手动编写代码。
- 适用于需要自定义外观的多媒体应用程序或应用程序。
缺点
- 可视化设计需要工作,我个人不使用它。这可能是一个很大的负面取决于您的需求。
- 仍然缺乏一些控制,但是这个越来越好。确实存在的控制似乎运作良好。
- Swing集成存在,但他们正在改变引擎,使其不再依赖Swing。 JavaFX中使用Swing控件在将来如何运作是不确定的。所以在可能的情况下,我不会避免在JavaFX中使用Swing控件。
JavaFX的改进速度更快,使用起来比Swing更好。
JavaFX是一个用于GUI的框架,具有多种优点,包括动画和CSS集成。这可以帮助您创建很多可以在CSS3中看到的2D和3D附件。
JavaFX是纯粹的Java,所以你不需要学习另一种语言,而不是你熟悉的老Java。 JavaFX是我最喜欢的用于桌面和企业的GUI平台,在处理旧的应用程序环境(即与硬件集成)时,我只使用Swing。我所知道的唯一缺点是场景构建器尚未集成,使用控件和API需要一些大脑工作,但这是次要的。
对我来说,Java桌面和JavaFX没有区别,因为JavaFX可以用来开发桌面应用程序,企业应用程序和小程序。您可以查看当前的JavaFX版本以检查其功能。
JTable类是另一个在AWT中没有等价物的Swing组件。 JTable提供了创建和显示表格的非常灵活的可能性。允许从数组或对象向量或实现TableModel接口的对象构建表。
JTableModel接口定义了指定表内容的对象的方法。该类提供了一个实现AbstractTableModel的JTableModel预定义接口。该类通常扩展为提供模型表的自定义实现。 JTable类提供了编辑表的功能。 setCellEditor()方法允许将接口的对象TableCellEditor标识为编辑器表格单元格。
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JavaExampleTableInJApplet extends JApplet
{
Object[] Dt = new Object[5];
DefaultTableModel DfltTblModl = new DefaultTableModel();
JTable Tbl = new JTable(DfltTblModl);
public void init()
{
for(int clmn = 0; clmn < 5; clmn++)
{
DfltTblModl.addColumn("Column"+clmn);
}
for(int row = 0; row < 10; row++)
{
for(int clmn = 0; clmn < 5; clmn++)
{
Dt[clmn] = "Cell " + row + "," + clmn;
}
DfltTblModl.addRow(Dt);
}
getContentPane().add(new JScrollPane(Tbl));
}
}
- 1. 独立和桌面应用程序有什么区别?
- 2. .Net桌面应用程序和Web应用程序有什么技术区别?
- 3. 为什么使用JavaFX时,Java桌面应用程序需要特别部署?
- 4. Java Web应用程序和Java企业应用程序有什么区别?
- 5. Java Web应用程序和Java企业应用程序有什么区别
- 6. 编程JavaFX应用程序时使用JavaFX脚本和使用常规java语法有什么区别
- 7. Rack应用程序和Sinatra应用程序有什么区别?
- 8. ViewState,应用程序和页面会话有什么区别?
- 9. IntelliJ中的Java EE应用程序和Web应用程序有什么区别?
- 10. Java桌面应用程序和Java EE?
- 11. 程序和应用程序有什么区别?
- 12. javafx SelectionMode Single和Multiple有什么区别?
- 13. HSQLDB对java桌面应用程序有什么限制?
- 14. javafx桌面应用程序xml操作
- 15. javafx + javascript桌面应用程序
- 16. 带桌面应用程序的java桌面应用程序
- 17. 桌面应用程序和Web应用程序之间的区别
- 18. Windows 8商店应用程序和Windows 8桌面应用程序的区别
- 19. Java桌面应用程序?
- 20. Java桌面应用程序
- 21. java桌面应用程序
- 22. WPF应用程序与Winforms应用程序有什么区别?
- 23. 工作进程,应用程序池和应用程序域有什么区别?
- 24. 用于桌面的NetBeans中的“Java应用程序”或“JavaFX应用程序”?
- 25. 适用于Java桌面应用程序的JavaFX,Swing或Flex
- 26. 代码和程序有什么区别?
- 27. 将JavaFX桌面应用程序转换为Web应用程序
- 28. Web和桌面上的MVC模式有什么区别?
- 29. Mobile和桌面设备有什么区别?
- 30. Facebook上的应用程序和Pages上的应用程序有什么区别?
http://www.javafxtutorials.com/whatisjavafx/ – 2017-01-24 07:42:01