JavaFx和Swing的对比:
javaFX确实比swing好看些,但没有swing的事件按钮等写法爽快,特别是使用eclipse的matisse开发视图,托拉拽的方式。可javaFX不只是有swing的优点还能支持多媒体,动画等。swing已经很久没有更新了,如果做GUI还是推荐javaFX。虽然javaFX略占cpu,不过现在的服务器或者pc的配置都逐步高了,一点cpu相比效果也不算啥。
桌面开发javaFX的文档和资源相对于swing少些。如果两者你都不熟悉可以直接研究javaFX。JavaFX也支持:CSS、Lambda表达式
最简单模板:
package Instance;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class TestInstance extends Application{
public static void main(String[] args) {
// TODO Auto-generated method stub
launch(args); //启动程序时,初始化javaFX设置
}
@Override
//javaFX程序入口
public void start(Stage fx) throws Exception {
Button btn=new Button("按钮"); //添加控件
btn.setOnAction(this::handle2);//绑定按钮事件
//btn.setOnAction(Event -> System.out.println("Click button2!"));//使用lambda表达式绑定按钮事件
BorderPane bp=new BorderPane(); //设置容器
bp.setCenter(btn);//将控件添加进容器
//场景布局
Scene sc=new Scene(bp, 400, 400);//设置场景,将容器添加进场景中并设置宽高
//显示
fx.setScene(sc);//添加场景
fx.setTitle("Hello World"); //设置标题
fx.show(); //显示
}
//点击事件
public void handle2(ActionEvent event) {
System.out.println("Click button !");
}
}
效果: