【发布时间】:2010-08-09 19:09:50
【问题描述】:
“普通”Java 桌面应用程序(使用 AWT 或 Swing)与使用 JavaFX 构建的 Java 应用程序有什么区别?
各有什么优缺点?
【问题讨论】:
“普通”Java 桌面应用程序(使用 AWT 或 Swing)与使用 JavaFX 构建的 Java 应用程序有什么区别?
各有什么优缺点?
【问题讨论】:
我认为您要问的是构建 JavaFX 桌面应用程序与 Java Swing 桌面应用程序的优缺点是什么。在对两者进行试验后,我可以指出一些不同之处:
Java Swing
优点:
缺点
JavaFX
优点
缺点
【讨论】:
与 Swing 相比,JavaFX 的改进速度更快,使用起来也更好。
JavaFX 是一个用于 GUI 的框架,具有多种优势,包括动画和 CSS 集成。这有助于创建许多您可以在 CSS3 中看到的 2D 和接近 3D 的东西。
JavaFX 是纯 Java,所以除了你知道的古老的 Java 之外,你不需要学习其他语言。 JavaFX 是我最喜欢的桌面和企业 GUI 平台,我只在处理较旧的应用程序环境(即与硬件集成)时使用 Swing。我所知道的唯一缺点是场景构建器尚未集成,使用控件和 API 需要一些脑力劳动,但这是次要的。
对我来说,Java 桌面和 JavaFX 之间没有区别,因为 JavaFX 可用于开发桌面应用程序、企业应用程序和小程序。您可以查看当前的 JavaFX 版本以了解其功能。
【讨论】:
这不是一个劣势/优势情况,而是了解每个人可以提供什么以及古语“为工作使用正确的工具”。
来自雅虎的回答Source for this answer:
javaFX 实际上是一种不同的语言(相似,但语法不同),但它运行在 JVM 上并且可以使用 Java 类。主要为跨多种设备的“RIA”(富互联网应用程序)而开发。相当多的内置功能可用于开发花哨和华丽的用户界面,而无需使用像 Java 这样的更坚果-n-bolts(低级)语言进行所有打字。
真的,“比较”有点难; JavaFX 充分利用了 Java 的所有优势,并在其上构建了一个用于开发 RIA 的平台。
来源:
Javafx wikiepdia
javafx at a glance
javafx homepage
similar stackoverflow question
【讨论】:
JTable 类是另一个在 AWT 中没有等效的 Swing 组件。 JTable 为创建和显示表格提供了非常灵活的可能性。让我们从对象的数组或向量或从实现 TableModel 接口的对象构建表。
JTableModel 接口为指定表内容的对象定义方法。该类提供了一个实现JTableModel 预定接口的AbstractTableModel。此类通常被扩展以提供模型表的自定义实现。 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));
}
}
【讨论】: