前言
JavaFX是一個(gè)Java的一個(gè)ui庫(kù),但是自從java8以后,它很悲慘的被從OpenJdk中移除了,因此我們使用它來(lái)進(jìn)行開(kāi)發(fā)時(shí),如果我們使用的是8以后的版本,經(jīng)常會(huì)遇到一些問(wèn)題。這里針對(duì)新手做一個(gè)簡(jiǎn)單的引導(dǎo)(悲,也許根本沒(méi)新手來(lái)學(xué)吧)
入門
Fx的入門并不復(fù)雜,如果你學(xué)過(guò)其他的Ui庫(kù)或者web開(kāi)發(fā),那么上手會(huì)很輕松
基礎(chǔ)的窗口程序HelloWorld
首先,我們需要到官網(wǎng)下載javaFX的jar包,導(dǎo)入項(xiàng)目,或者用maven引入fx的坐標(biāo)。
官網(wǎng)地址:openjfx.io
maven基礎(chǔ)坐標(biāo):
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>17.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>17.0.2</version>
</dependency>
接著新建一個(gè)app類,繼承JavaFx的Application接口,并重寫它的start()方法。
PS:start()方法中使用的是UI線程,通常我們只允許UI線程更改UI。
以下是一個(gè)簡(jiǎn)單的HelloWorld樣例代碼,因過(guò)于簡(jiǎn)單,不做啰嗦。
public class FxApp extends Application {
private int width=640,height=360;
@Override
public void start(Stage primaryStage) {
Label text=new Label("HelloWorld~");
text.setFont(new Font("微軟雅黑",30));
FlowPane flowPane=new FlowPane();
flowPane.setAlignment(Pos.BASELINE_CENTER);
flowPane.getChildren().addAll(text);
Scene scene=new Scene(flowPane);
primaryStage.setScene(scene);
primaryStage.setWidth(width);
primaryStage.setHeight(height);
primaryStage.show();
}
}
運(yùn)行效果如下:
開(kāi)發(fā)常見(jiàn)錯(cuò)誤
缺少 JavaFX 運(yùn)行時(shí)組件, 需要使用該組件來(lái)運(yùn)行此應(yīng)用程序
但是如果你使用java8以上的版本來(lái)運(yùn)行這段代碼,你可能會(huì)發(fā)現(xiàn)提示了一個(gè)這樣的錯(cuò)誤,這是因?yàn)镴avaFX需要在其它類中通過(guò)class對(duì)象參數(shù)啟動(dòng)(在未使用模塊化的情況下),如果你在Application類中啟動(dòng),就會(huì)出現(xiàn)這樣的錯(cuò)誤。
正確的操作方式如下:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-432496.html
public class App {
public static void main(String[] args) {
Application.launch(FxApp.class);
}
}
了解了這些,你已經(jīng)可以初步的學(xué)習(xí)javaFX了,學(xué)習(xí)冷門技術(shù)是需要一定決心的,共勉~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-432496.html
到了這里,關(guān)于如何簡(jiǎn)單的上手JavaFX17+?解決“缺少 JavaFX 運(yùn)行時(shí)組件, 需要使用該組件來(lái)運(yùn)行此應(yīng)用程序”等問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!