国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看

java怎么運行,java簡(jiǎn)單的用戶(hù)登錄界面

1、新建LoginKit工具類(lèi)

importjavafx.beans.property.SimpleBooleanPropertyimportjavafx.beans.property.SimpleObjectPropertyimportjavafx.beans.property.SimpleStringPropertyimportjavafx.scene.control.Buttonimportjavafx.scene.control.PasswordFieldimportjavafx.scene.control.TextFieldimportjavafx.scene.layout.Backgroundimportjavafx.scene.layout.BackgroundFillimportjavafx.scene.paint.Color/**
* object 對象,相當于java單利
*/objectUserName {valtext = SimpleStringProperty()
}//密碼objectPassWord {valtext = SimpleStringProperty()
}//改變顏色objectBackGround {//設置顏色valblueColor = SimpleObjectProperty
(Background(BackgroundFill(Color.BLUE,null,null)))valcyanColor = SimpleObjectProperty(Background(BackgroundFill(Color.CYAN,null,null)))valisRightColor = SimpleBooleanProperty(false)
}/**
* 數據綁定
*/classLoginKit{//用戶(hù)名字段的綁定funuserName(): TextField {returnTextField().apply {
textProperty().bindBidirectional(UserName.text)
}
}//密碼字段的綁定funpassWord(): PasswordField {returnPasswordField().apply {
textProperty().bindBidirectional(PassWord.text)
}
}//登錄按鈕方法funloginBtn(): Button {returnButton("登錄").apply {//通過(guò)事件獲取用戶(hù)名與密碼的值setOnAction {
println("賬號:${UserName.text.value}")
println("密碼:${PassWord.text.value}")
}
}
}//清除按鈕funclearBtn(): Button {returnButton("清除").apply {
setOnAction {
UserName.text.value =""PassWord.text.value =""}
}
}
}

2、新建登錄視圖類(lèi)

這里使用kotlin的apply比較多,要有DSL的思想才好編寫(xiě)代碼packagecom.rub.viewimportcom.rub.kit.BackGroundimportcom.rub.kit.LoginKitimportjavafx.application.Applicationimportjavafx.beans.binding.Whenimportjavafx.geometry.Insetsimportjavafx.geometry.Posimportjavafx.scene.Sceneimportjavafx.scene.control.Labelimportjavafx.scene.layout.BorderPaneimportjavafx.scene.layout.HBoximportjavafx.scene.layout.VBoximportjavafx.stage.StageclassLoginView:Application() {overridefunstart(stage:Stage?){//!!表示告訴kotlin編輯器,此值不要檢查了。valst = stage!!varloginKit = LoginKit()//創(chuàng )建面板valborderPane = BorderPane().apply {
backgroundProperty().bind(
When(BackGround.isRightColor).then(BackGround.cyanColor).otherwise(BackGround.blueColor)
)//鼠標進(jìn)入界面改成true,即為青色,鼠標離開(kāi)界面改成false,即為藍色,setOnMouseEntered { BackGround.isRightColor.value =true}
setOnMouseExited { BackGround.isRightColor.value =false}//內邊距里padding = Insets(40.0)
center = VBox(20.0).apply {
alignment = Pos.CENTER
children.add(HBox().apply {
alignment = Pos.CENTER
children.addAll(Label("賬號:"), loginKit.userName())
})
children.add(HBox().apply {
alignment = Pos.CENTER
children.addAll(Label("密碼:"), loginKit.passWord())
})
children.add(HBox(60.0).apply {//兩個(gè)按鈕之間的距離translateX =10.0alignment = Pos.CENTER
children.addAll(loginKit.loginBtn(), loginKit.clearBtn())
})
}
}valscene = Scene(borderPane)
st.apply {this.scene = scene
sizeToScene()
title ="登錄界面"http://窗體不可變isResizable =falseshow()
}
}
}//啟動(dòng)入口類(lèi)funmain()= Application.launch(LoginView::class.java)

3、運行結果

功能實(shí)現鼠標進(jìn)入界面改成true,即為青色,鼠標離開(kāi)界面改成false,即為藍色,點(diǎn)擊按鈕獲取到文本框的值

image.png

上一篇:

下一篇:

? 推薦閱讀

分享
国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看