?javafx是一款比較新興的語言框架,隨著javafx越來越實用,估計許多程序員也會慢慢接觸它,故我在這里對它由淺到深進行介紹一下.
? ? ? ?首先,要了解javafx,就應該先知道.xml文件的布局軟件,以往java都是通過敲代碼來進行布局的,但javafx有力新的突破,它實現了拖動方式,目前我使用的輔助軟件是JavaFX Scene Builder 2.0,故這一篇文章我主要首先介紹一下JavaFX Scene Builder 2.0這款軟件,希望對大家有所幫助.
? ? ? ?打開JavaFX Scene Builder 2.0軟件,我們可以看到三大塊,第一塊是布局所需的元素集合,第二塊是布局的位置,第三塊是屬性的一些設置,下面對這三塊我來一一介紹.
?
一. 布局元素
? ?1. containers容器一欄,在這一欄中有各種容器,所謂容器,就是用來裝載其他按鈕表格之類的一塊區域,合理地利用容器,可以很好的進行布局, ?建議初學者將每個容器一一拖到布局位置進行查看它的效果,從而掌握每個容器應用到何處,其中Vbox以及Hbox是以后介紹頁面正常全屏顯示的 ? ? ? ? ?關鍵,請大家關注接下來的一些文章
? ? 2. controls,控制器一欄,這一欄的元素存在的基礎是有容器,控制器必須放在容器中,每個控制器都是自己獨立的顯示方式以及功能,lable文字標 簽控制器,用來顯示一些文字;button按鈕控制器,用來做功能按鈕;checkbox復選框,用來判斷是否選擇的選擇框;choicebox,combobox, ? ? ? ? ? 文字選擇器,用來選擇下拉框中的文字;imageview圖片加載器,用來放置圖片(注意:實際編程時,改圖片必須存放在該項目源文件夾中,與 ? ? ? ? ? ? 該.xml文 件處于同一目錄下);pagination分頁控件,與表格一起使用可以加載多頁數據;tableview表格控件,可以在其中加載所需的數據,數 ? ? ? ? ? 據源可以來自 于數據庫;textfiled文本框控件,用于輸入信息的,可以用來輸入存儲信息及查詢信息等等,還有更多其他的控件,在以后會做更多 ? ? ? ? 的介紹,并且會介紹一些控件具體的程序實現。
二. 布局位置
? ? ? 1. 用鼠標將布局元素直接拖至這塊區域,就可以看到所拖元素的展現形式,可以在這一調整元素的大小以及位置,并且溫馨提示一下,如果你要使 用ctrl+v,那么你所粘貼的元素會出現在與你選中元素同一個容器中,即粘貼的元素與選中的元素是同一級別的。如果有一些誤操作,建議使用 ? ? ? ? ? ? ctrl+z來進行恢復。
三. 屬性
? ? ? 1. ? properties基本屬性塊,editable選則是否可編輯,一般來說,對有輸入型的控件比較適用,例如textfiled控件,如果可編輯狀態沒有打鉤,那么 這個文本框就不可以輸入值;disable是否可用的狀態編輯,如果這一項打上鉤,那么就會發現,這個元素正題顏色會變得暗淡,變現為不可用 ? ? ? ? ? ? 狀態;visiable是否可見狀態,如果這一項不打鉤,就會發現這個元素在布局上沒有了,貌似隱藏了,實際上就是將這個元素隱藏起來,并且不 ? ? ? ? ? ? 可用;cursor鼠標狀態,主要用來設置鼠標移動到這個元素位置上時,鼠標顯示的圖標形狀,通常一些功能按鈕會設置成hand圖標類型;style ? ? ? ? ? ? 風格設置,可以用來設置元素底色之類的。
? ? ? ? 2. layout屬性塊,padding主要針對的是元素在布局中的位置,可以上下左右的位置進行相應的微調;接下來的height跟width這些屬性將對Hbox及 Vbox的全屏顯示布局顯示至關重要,因此后面會涉及到全屏顯示到底如何具體設置;接下來的xyz基本上就是設置元素在頁面上位置的屬性。
? ? ? ? 3. code屬性塊
? ? ? ? ? ?fx:id :這個主要是給這個元素設置一個ID,這個Id主要是為了能夠清晰的在程序中辨別出各個元素,一般而言,基本上絕大部分元 素都是需要 ?去辨別的,所以除了一些實在不需要作程序處理的元素,其他的都必須給一個Id,而且在同一個.XML文件中,一般每個元素對應的 id都不會 ? ? ? ? ? ? ? ? ?相同,id有著明確的指向性;
? ? ? ? ? ? On Action觸發事件:事件是ActionEvent,在這里設置一個觸發函數名,然后在程序中給這個函數寫入相 應的方法,這個事件 的觸發是鼠標左 ?擊這個元素就可以了;
? ? ? ? ? ? On Key Pressed觸發事件:事件是KeyEvent,在這里設置一個觸發函數,然后在程序中寫入相應的方法,這是一個鍵盤按鍵觸發事件,只要有 按鈕按下就會觸發,經常實現的就是Enter鍵觸發事件的設置,在這個觸發事件正增加一個判斷是否為Enter鍵操作,即可實現按回車鍵進行 ? ? ? ? ? ? ? ? ?搜素的事件。
? ? ? ? ? ? ?On Mouse Clicked觸發事件:事件是MouseEvent,在這里設置一個觸發函數,然后在程序中寫入相應的方法,這是一個鼠標觸發事件,只要 ? 鼠標點擊相應的元素(無論左擊還是右擊),就可以觸發這個函數,當然,如果你不希望左右擊都實現功能,則可以在這個函數中添加一個 ? ? ? ? ? ? ? ? 鼠標左右擊的判斷事件,從而實現只有左擊或右擊實現功能,具體如何在程序中如何判斷,以后會介紹。
? ? ? ? ? ? ?On Mouse Dragged觸發事件:事件是MouseEvent,在這里設置一個觸發函數,然后在程序中寫入相應的方法,這是一個鼠標點擊拖動事 ? ? ? 件,當鼠標點擊按住不動開始拖動時,就不斷地觸發這個函數,這個觸發事件可以做鼠標拖動頁面的操作。
? ? ? ? ? ? ? 以上是經常會用到的一些觸發事件,還有其他更多的觸發事件,在這里就不作一一介紹了,有興趣的同學可以自己去一一嘗試其他觸發事件的 ? ? ? ? ? ? ? 作用。
? ? ? ? ? ? ?這一期就寫到這里,下一期將通過程序來具體介紹一些控件的具體操作以及設置。
原文地址:http://blog.csdn.net/z01014274/article/details/44101125