現(xiàn)在創(chuàng)建控制器來管理按鈕事件。本例演示如何把FXML和Java代碼編寫的事件控制器相關(guān)聯(lián)。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了城中免費建站歡迎大家使用!
在Projects窗口,右擊 Sample.java,選擇 Refactor-- Rename .
輸入FXMLExampleController后點擊Refactor .
打開FXMLExampleController.java刪除代碼,用下面的代替 Example
9 .
Example 9
FXMLExampleController.java
package fxmlexample;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
public class FXMLExampleController {
@FXML private Label buttonStatusText;
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
buttonStatusText.setText("Submit button pressed");
}
@FXML protected void handlePasswordFieldAction(ActionEvent event) {
buttonStatusText.setText("Enter key pressed");
}
}
@FXML注解用來標識非公開控制器成員和方法。
作為Java的補充,也可以使用其他編譯型語言如Scala來實現(xiàn)控制器。.
現(xiàn)在可以運行了。輸入內(nèi)容點擊Submit試試。
想要完整代碼,請下載 FXMLExample.zip .
使用腳本語言
除了使用Java創(chuàng)建控制器,可以使用任何提供JSR223-可編譯腳本引擎的語言。比如 JavaScript,
Groovy, Jython, 還有Clojure.下面是用 JavaScript編碼FXML的。
在fxml_example.fxml文件中,添加JavaScript聲明到XML聲明后。
?language javascript?
在 Button標記中,改變方法名稱
:
onAction="handleSubmitButtonAction(event);"
更新標記PasswordField :
onAction="handlePasswordFieldAction(event);"
移除fx:controller 從 BorderPane標記中,在
script中添加js方法 ,見Example
10 .
Example 10 JavaScript in FXML
BorderPane xmlns:fx=""
fx:script
function handleSubmitButtonAction() {
buttonStatusText.setText("Calling the JavaScript");
}
function handlePasswordFieldAction(event) {
buttonStatusText.text = "More JavaScript";
}
/fx:script
當(dāng)然也可以把js方法寫進外部文件 (比如 fxml_example.js)然后像下面這樣引用:
fx:script source="fxml_example.js"/
使用腳本編寫FXML,調(diào)試時可能不會步入函數(shù)體。
使用樣式表
使用內(nèi)聯(lián)樣式,也可以添加樣式表然后為結(jié)點設(shè)置關(guān)聯(lián)。下面創(chuàng)建了樣式表來定義網(wǎng)格布局和標簽控件的樣式。
創(chuàng)建樣式表.
在Projects窗口,右擊fxmlexample文件夾,選擇New -- Other .
在 New File對話框中,選擇Other -- Cascading Style Sheet , 然后 Next .
輸入 fxmlstylesheet后點擊Finish .
用下面的代碼代替原來的代碼 Example
11 .
Example 11 Contents of Style
Sheet
@charset "utf-8";
/*
Document : FXMLstylesheet.css
*/
.grid-pane {
-fx-padding: 80 0 0 0;
}
.label {
-fx-font: normal 36px Tahoma;
}
打開 FXMLExample.java,把樣式表加入到下面代碼前面 s tage.show() .scene.getStylesheets().add("fxmlexample/fxmlstylesheet.css");
打開 fxml_example.fxml添加樣式類.
為String元素添加導(dǎo)入語句。
?import java.lang.*?
用下面代碼代替GridPane Example
12 .
Example 12 Style Class for Grid
Pane
GridPane alignment="top_center" hgap="8" vgap="8"
styleClass
String fx:value="grid-pane"/
/styleClass
用下面代碼代替"Sign In" Label 。 Example
13 .
Example 13 Style class for
Label
Label text="%signIn"
GridPane.columnIndex="0" GridPane.rowIndex="0"
styleClass
String fx:value="label"/
/styleClass
/Label
使用styleClass
標簽時,風(fēng)格會應(yīng)用到所有的類,除非它有自己的內(nèi)聯(lián)風(fēng)格。所以Example
13 中的更改不僅應(yīng)用到了 Sign
In標簽,也賦予了Username 和Password標簽。但不會應(yīng)用到Login Example標簽,因為它有自己的內(nèi)聯(lián)樣式,覆蓋了其他風(fēng)格。
public class TestStar {
public static void main(String[] args) {
String star = "*";
for (int i = 0; i 5; i++) {
if (i == 0) {
System.out.print(" " + star);
System.out.println();
}
if (i == 1) {
for (int z = 0; z 4; z++) {
System.out.print(" " + star);
}
System.out.println();
}
if (i == 2) {
System.out.print(" ");
for (int x = 0; x 3; x++) {
System.out.print(" " + star);
}
System.out.println();
}
if (i == 3) {
for (int y = 0; y 2; y++) {
System.out.print(" " + star + " ");
}
}
}
}
}
是好使的 但是我沒找到畫五角星有什么規(guī)律(五角星好象不是正規(guī)圖形吧?)如果還有什么要求的話 補充問題(如果是用*填充所有的東西 不包括 “ ”的話 我可以重新再給你寫一個)
繼 Spring 2.0 對 Spring MVC 進行重大升級后,Spring 2.5 又為 Spring MVC
引入了注解驅(qū)動功能。現(xiàn)在你無須讓 Controller 繼承任何接口,無需在 XML 配置文件中定義請求和 Controller
的映射關(guān)系,僅僅使用注解就可以讓一個 POJO 具有 Controller 的絕大部分功能 —— Spring MVC
框架的易用性得到了進一步的增強.在框架靈活性、易用性和擴展性上,Spring MVC 已經(jīng)全面超越了其它的 MVC 框架,伴隨著 Spring
一路高唱猛進,可以預(yù)見
Spring MVC 在 MVC 市場上的吸引力將越來越不可抗拒。
使用過低版本 Spring MVC 的讀者都知道:當(dāng)創(chuàng)建一個 Controller 時,我們需要直接或間接地實現(xiàn)
org.springframework.web.servlet.mvc.Controller 接口。一般情況下,我們是通過繼承
SimpleFormController 或 MultiActionController 來定義自己的 Controller 的。在定義
Controller 后,一個重要的事件是在 Spring MVC 的配置文件中通過 HandlerMapping
定義請求和控制器的映射關(guān)系,以便將兩者關(guān)聯(lián)起來。
詳細的內(nèi)容請參考下面的文章:
沒有,不過可以換到行首。如果你輸出沒有換行的話,可以用\r來回到行首。System.out.print("\r" + new Date());
當(dāng)前標題:java控制器代碼,javaweb控制器
新聞來源:http://sd-ha.com/article46/hoodhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、品牌網(wǎng)站設(shè)計、定制開發(fā)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)