“普通”Java桌面应用程序(使用AWT或Swing)和使用JavaFX构建的Java应用程序之间有什么区别?
每种方法的优点和缺点是什么?
答案 0 :(得分:14)
我认为您所问的是构建JavaFX桌面应用程序与Java Swing桌面应用程序的优缺点。在尝试了两者后,我可以指出一些差异:
Java Swing
优点:
缺点
<强> JavaFX的强>
赞成
缺点
答案 1 :(得分:4)
与Swing相比,JavaFX的使用速度更快,使用起来也更好。
JavaFX是GUI的框架,具有多种优势,包括动画和CSS集成。这有助于创建CSS3中可以看到的大量2D和近3D内容。
JavaFX是纯Java,因此除了您熟悉的旧Java外,您无需学习其他语言。 JavaFX是我最喜欢的桌面和企业GUI平台,我只在处理旧应用程序环境时使用Swing(即与硬件集成)。我所知道的唯一缺点是场景构建器尚未集成,并且使用控件和API需要一些大脑工作,但这是次要的。
对我来说,Java桌面和JavaFX之间没有区别,因为JavaFX可用于开发桌面应用程序,企业应用程序和applet。您可以查看当前的JavaFX版本以查看其功能。
答案 2 :(得分:2)
它不是一个缺点/优势的情况,而是理解每个人可以提供什么,以及古老的说法“使用正确的工具”。
来自雅虎的答案Source for this answer:
javaFX实际上是一种不同的语言(类似但不同的语法),但它可以在JVM上运行并且可以使用Java类。主要为“RIA”(富Internet应用程序)开发,跨越各种设备。相当多的内置功能,用于开发花式和华而不实的用户界面,没有所有的输入,必须用更加坚固的螺栓(低级)语言,如Java。
真的,有点难以“比较”; JavaFX利用了Java和Java的所有优点。建立一个平台来开发RIA。
来源(S):
Javafx wikiepdia
javafx at a glance
javafx homepage
similar stackoverflow question
答案 3 :(得分:0)
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));
}
}