java普通類如何轉(zhuǎn)javafx程序
更新時(shí)間:2024年08月13日 09:06:46 作者:liwulin0506
這篇文章主要介紹了java普通類如何轉(zhuǎn)javafx程序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
java普通類轉(zhuǎn)javafx程序
只需要集成Application 就可以了
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class test extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
// 設(shè)置舞臺(tái)標(biāo)題
primaryStage.setTitle("Hello World App");
// 創(chuàng)建按鈕
Button button = new Button("Click Me");
// 設(shè)置按鈕點(diǎn)擊事件處理邏輯
button.setOnAction(event -> {
// 創(chuàng)建對(duì)話框
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Hello");
alert.setHeaderText(null);
alert.setContentText("Hello, World!");
// 顯示對(duì)話框
alert.showAndWait();
});
// 創(chuàng)建布局并將按鈕添加到布局中
StackPane layout = new StackPane();
layout.getChildren().add(button);
// 創(chuàng)建場(chǎng)景并將布局設(shè)置為場(chǎng)景的根節(jié)點(diǎn)
Scene scene = new Scene(layout, 300, 200);
// 將場(chǎng)景設(shè)置到舞臺(tái)
primaryStage.setScene(scene);
// 顯示舞臺(tái)
primaryStage.show();
}
}
java、javafx判斷程序是否已運(yùn)行
package com.test.util.sys;
import java.io.File;
import java.io.RandomAccessFile;
import java.nio.channels.FileLock;
/**
* 單個(gè)實(shí)例程序檢測(cè)
* @author luohui
* @create 2020/8/27
* @since 1.0.0
*/
public class SingleAppCheckUtil {
/**
* 檢測(cè)是否有其他實(shí)例在運(yùn)行
*/
public static void check() {
try {
File file = new File(System.getProperty("java.io.tmpdir") + "singleTest.single");
if(!file.exists()) {
file.createNewFile();
}
RandomAccessFile accessFile = new RandomAccessFile(file, "rw");
FileLock lock = accessFile.getChannel().tryLock();
if(lock == null) {
System.out.println("程序已運(yùn)行,退出");
System.exit(0);
}
} catch (Exception e) {
Tools.saveLog(e);
System.exit(0);
}
}
}
package com.test.main;
import com.test.util.sys.SingleAppCheckUtil;
import javafx.application.Application;
import javafx.stage.Stage;
import java.net.URL;
import java.util.Timer;
/**
* JavaFx首頁(yè)啟動(dòng)
* @author luohui
* @create 2020/4/13
* @since 1.0.0
*/
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void init() {
//檢測(cè)是否有已運(yùn)行程序
SingleAppCheckUtil.check();
}
@Override
public void start(Stage primaryStage) throws Exception {
//業(yè)務(wù)邏輯代碼
//...
}
}
package com.test.main;
/**
* Java程序首頁(yè)啟動(dòng)
* @author luohui
* @create 2020/4/13
* @since 1.0.0
*/
public class Main1 {
public static void main(String[] args) {
//檢測(cè)是否有已運(yùn)行程序
SingleAppCheckUtil.check();
//業(yè)務(wù)邏輯代碼
//...
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mapper類中存在名稱相同的方法重載報(bào)錯(cuò)問題
這篇文章主要介紹了Mapper類中存在名稱相同的方法重載報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
SpringBoot Maven Clean報(bào)錯(cuò)解決方案
這篇文章主要介紹了SpringBoot Maven Clean報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
SpringBoot實(shí)現(xiàn)Md5對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)加密的示例
本文主要介紹了SpringBoot實(shí)現(xiàn)Md5對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)加密的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Jmeter 中 CSV 如何參數(shù)化測(cè)試數(shù)據(jù)并實(shí)現(xiàn)自動(dòng)斷言示例詳解
這篇文章主要介紹了Jmeter 中 CSV 如何參數(shù)化測(cè)試數(shù)據(jù)并實(shí)現(xiàn)自動(dòng)斷言,本文通過示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

