iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

玩轉ABCL Lisp!用奇怪偏門的方式學習JavaFX 系列

這是一系列以 ABCL(Armed Bear Common Lisp)搭配 JavaFX 開發桌面 GUI 的學習筆記。內容從環境準備與 Hello World 開始,逐步實作互動元件、資料綁定、CalcFX 計算機、FXML、Scene Builder,以及應用程式打包。這不只是 JavaFX 教學,也是一段從 Lisp 角度探索 Java 生態系的實作旅程。

#用 ABCL 玩轉 JavaFX:從 Lisp 出發,走一條奇怪的 GUI 學習路線

參賽天數 27 天 | 共 27 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 11

lesson 2: Hello ASDF:CLISP的工程文件「Another System Definition Facility」

TL;DR 這篇會把前一篇的單一main.lisp拆成多個檔案,並用ASDF的系統定義檔案管理載入順序與依賴。完成後,可以透過asdf:load-system載...

2026-09-24 ‧ 由 lagagain 分享
DAY 12

lesson 3: JavaFX場景和初見JSS Package:怎麼存取JAVA類別資源?

TL;DR 這篇會使用 Java Package 與 JSS Package 改寫 HelloFX,並將 JavaFX Scene 拆分到獨立的 Lisp 檔案...

2026-09-25 ‧ 由 lagagain 分享
DAY 13

lesson 4: abclFX怎麼使用CSS?從執行指定Hello MyStyle開始

TL;DR 這篇不需要修改 JavaFX 元件的程式碼,就能透過 User Agent Stylesheet 載入 CSS,改變 JavaFX 的畫面風格。可以...

2026-09-26 ‧ 由 lagagain 分享
DAY 14

lesson 5: 怎麼存取靜態資源?Hello Icon & Resource裝飾視窗

TL;DR 這篇的重點是把 JavaFX 的 CSS 與圖示資源從「執行目錄」抽離出來,改成依賴 ASDF 系統位置。這樣不論從哪個目錄啟動,style.css...

2026-09-27 ‧ 由 lagagain 分享
DAY 15

lesson 6: 怎麼設定個別元素風格? 用Style ID & Style Class設定場景風格

TL;DR 這篇介紹如何透過 style id 與 style class,讓 CSS 能夠針對個別 JavaFX 元素設定風格,而不是只能套用在整個 Scen...

2026-09-28 ‧ 由 lagagain 分享
DAY 16

lesson 7: 第一個互動元件,按鈕:Hello Button & MessageBox & Action

TL;DR 這篇介紹如何建立 JavaFX Button、套用按鈕風格,以及透過 EventHandler 回應點擊事件。最後也會將事件結果顯示在 JavaFX...

2026-09-29 ‧ 由 lagagain 分享
DAY 17

lesson 8: 資料雙向綁定:Hello {Name}!發揮 ABCL 的威力

TL;DR 這篇從 TextField 開始,先完成一個可以詢問使用者名字的 Hello {Name} 範例,再透過 SimpleStringProperty...

2026-09-30 ‧ 由 lagagain 分享
DAY 18

lesson 9: CalcFX 畫面:用 ABCL + JavaFX 實現計算機畫面

TL;DR 這篇先使用 ABCL 與 JavaFX 建立 CalcFX 的計算機畫面,完成顯示器、按鈕排列與 CSS 風格設定。這裡只處理 GUI 畫面,按鈕的...

2026-10-01 ‧ 由 lagagain 分享
DAY 19

lesson 10: CalcFX 邏輯:用 ABCL 綁定動作處理,實現計算機邏輯

TL;DR 這篇在前一篇 CalcFX 畫面的基礎上,加入計算機的狀態管理、按鈕事件與四則運算邏輯。畫面與邏輯目前仍放在同一個程式中,之後再將兩者拆分。 建立計...

2026-10-02 ‧ 由 lagagain 分享
DAY 20

lesson 11: Hello FXML:分離畫面設計與程式邏輯

TL;DR 這篇將前一篇以 ABCL 建立的 CalcFX 畫面改用 FXML 描述,讓畫面布局與程式邏輯分開。FXML 負責建立 JavaFX 元件與配置 C...

2026-10-03 ‧ 由 lagagain 分享