JavaFX 學習之路-第三章:JavaFX 建立自己的表單(Form)


Form(表單、表格)在視窗程式或是網頁中,都是很常見的顯示方式。以下就以「登入表單」來作為JavaFX Form的練習吧!

Hello JavaFX中,我們已經知道Stage和Scene的關係,也大概知道要如何製作出JavaFX的視窗程式。因此底下將會直接從Scene開始製作出我們想要的Form。

建立登入表單

​Layout(Pane)

Layout的概念,在Awt的時代就有了,可由藉由特殊的排版演算法來對畫面中的UI控制項進行較有彈性的排版。在JavaFX中,也提供了javafx.​scene.​layout APIs,經典的Border、Flow、Grid等排版方式也都還存在。只是到了JavaFX,Layout有個新的名稱-Pane。Layout也可以直接作為Scene的Root node。

要排出一個登入表單Oracle提供的作法是用GridPane,

GUI元件

要製作登入表單,我們需要將Text、Label和TextField、PasswordField、Button加到GridPane內。但在這邊很奇怪的是,Text和Label差別在哪呢?以繼承關係來看,Text屬於shape底下的子類別,而Label屬於control底下的子類別,這表示Text並不算是控制項,而是需要被draw出來的「形狀」。在以往的AWT或是Swing中,沒有提供類似Text的套件,所以這在JavaFX中算是一個新概念:Layout中不再只能放置控制項,形狀也可以被放入Layout進行排版!

登入事件(Event)

在按下表單上的登入按鈕後,通常要執行一段驗證帳號密碼是否正確,然後判斷是否登入成功的程式。要如何在按鈕被按下後執行這段程式,就得靠EventHandler了。

撰寫程式

執行結果:
JavaFX 學習之路-第三章:JavaFX 建立自己的表單(Form)

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章