序
好久沒寫博客了,主要是因為懶,寫博客真的是個難堅持的事。但今天登上來看了看,之前記錄ctf寫的wp竟然點擊量這么多了,突然讓我有了繼續寫下去的動力。
這段時間遇到了好多事,中間也有想過寫幾篇文章記錄下,每每准備動筆時都懶癌發作,有的文章起個頭就沒寫了。
這次這個破玩意讓我費了九牛二虎之力,而且我發現網上文章幾乎沒有此類教程時,讓我重燃了寫博客的斗志。
起因
最近看到了這個東西,下載下來用了下,發現是python做了一個界面,收集的各種工具。而最主要不是這個工具本身,而是讓我感覺師傅們好像都在做GUI界面,我突然就有了興趣,也想自己搞一搞了。
我簡單看了看這里面的工具,大部分是java做的,大部分好像是jwt或swing做的,也有一些好看一點的就是javafx做的了。
對於GUI,我之前學過一點qt,但是被它槽和信號折磨的頭痛欲裂,再加上其靈活多變,國內教程少就放棄了。然后看了看其它的GUI,由於我想要跨平台、可編輯GUI(說白了就是懶)並且我對js一竅不通,最后就選擇學一下javafx。
開整
打開百度和b站我才發現,這破玩意好多人還在用eclipse做開發,idea做的教程少之又少,國內甚至沒有,於是我自己開啟了排坑之路。
第一步:下載JavaFX Scene Builder
地址:https://www.oracle.com/java/technologies/javafxscenebuilder-1x-archive-downloads.html
這個東西的作用就是讓你有可編輯的GUI界面,甚至可以直接生成代碼並預覽,非常方便。
安裝好后就會有下面這個圖標:
同時下好fx插件
第二步:去官網看教程按步驟做
這塊很重點,建議跟着一步一步來
地址:https://openjfx.cn/openjfx-docs/#next-steps
新建一個maven項目,archetype選javafx,一般來說第一次都沒有,按照官網說明添加即可
名字瞎b起,maven選自己的比較好,然后到重點了,這里一定要按照官網選擇javafx-archetype-fxml或javafx-archetype-simple,不能用默認配置
這里我選擇了simple的模式后,完成
此時我們按照教程運行compiler:compile大概率是會報錯的
這是由於jdk版本問題導致,官網默認是11,而我們用的是8
首先把pom.xml這里改掉
然后進入setting把這里改掉
然后看一下代碼App.java,可以看到var類型在java8中並不支持,所以手動替換
module-info.java我們也並不需要,刪掉即可
好了,此時我們compiler:compile,並且javafx:run。或者直接在App.java的main函數里右鍵run,就能出現如下窗口
此時還沒實現GUI編輯,你可以構建如下目錄。這里要注意resources下級目錄要與java中保持一致
具體simple.fxml的內容可以參考在創建項目時直接選擇javafx的,也可以選擇javafx-archetype-fxml,這樣會自帶resources和fxml
代碼改掉
此時就可使用GUI編程了
第三步:編譯出jar文件
我們目的是跨平台的軟件,肯定要編譯成jar去運行,此處設置如下
先把編譯版本選成java8
然后建立artifacts,此處一定注意如圖選項,不能用默認的,必須選到根目錄,不然編譯完成后會找不到主類
點擊build
雙擊運行一下
到這里就大功告成了!!!!!!
當然有了maven你想加什么依賴都是很容易的事了,最后展示一下,我的小玩具
源代碼已上傳git:
https://github.com/mustblade/Translation_software