JavaFX 2:創建登錄表單

在本教程中,我將使用JavaFX 2和CSS設計漂亮的Login Form 。 它是經典的登錄表單,帶有用戶名和密碼以及登錄按鈕。 為了遵循本教程,我強烈建議您查看以下這些教程:
  • Eclipse IDE中的JavaFX 2入門
  • JavaFX 2:HBox
  • JavaFX 2:GridPane
  • JavaFX 2:樣式按鈕
  • JavaFX 2:使用文本和文本效果

用戶名: JavaFX2 密碼:密碼

您可以在上方輸入此信息,然后單擊“登錄”按鈕。 它會提示您登錄成功,但是如果輸入錯誤信息,則會提示您登錄不成功。
本教程的最終輸出屏幕截圖如下圖所示。

JavaFX 2登錄表單
JavaFX 2登錄表單

這是我們示例的Java代碼:

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Reflection;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;/**** @web http://zoranpavlovic.blogspot.com/*/
public class Login extends Application {String user = "JavaFX2";String pw = "password";String checkUser, checkPw;public static void main(String[] args) {launch(args);}@Overridepublic void start(Stage primaryStage) {primaryStage.setTitle("JavaFX 2 Login");BorderPane bp = new BorderPane();bp.setPadding(new Insets(10,50,50,50));//Adding HBoxHBox hb = new HBox();hb.setPadding(new Insets(20,20,20,30));//Adding GridPaneGridPane gridPane = new GridPane();gridPane.setPadding(new Insets(20,20,20,20));gridPane.setHgap(5);gridPane.setVgap(5);//Implementing Nodes for GridPaneLabel lblUserName = new Label("Username");final TextField txtUserName = new TextField();Label lblPassword = new Label("Password");final PasswordField pf = new PasswordField();Button btnLogin = new Button("Login");final Label lblMessage = new Label();//Adding Nodes to GridPane layoutgridPane.add(lblUserName, 0, 0);gridPane.add(txtUserName, 1, 0);gridPane.add(lblPassword, 0, 1);gridPane.add(pf, 1, 1);gridPane.add(btnLogin, 2, 1);gridPane.add(lblMessage, 1, 2);//Reflection for gridPaneReflection r = new Reflection();r.setFraction(0.7f);gridPane.setEffect(r);//DropShadow effect DropShadow dropShadow = new DropShadow();dropShadow.setOffsetX(5);dropShadow.setOffsetY(5);//Adding text and DropShadow effect to itText text = new Text("JavaFX 2 Login");text.setFont(Font.font("Courier New", FontWeight.BOLD, 28));text.setEffect(dropShadow);//Adding text to HBoxhb.getChildren().add(text);//Add ID's to Nodesbp.setId("bp");gridPane.setId("root");btnLogin.setId("btnLogin");text.setId("text");//Action for btnLoginbtnLogin.setOnAction(new EventHandler() {public void handle(ActionEvent event) {checkUser = txtUserName.getText().toString();checkPw = pf.getText().toString();if(checkUser.equals(user) && checkPw.equals(pw)){lblMessage.setText("Congratulations!");lblMessage.setTextFill(Color.GREEN);}else{lblMessage.setText("Incorrect user or pw.");lblMessage.setTextFill(Color.RED);}txtUserName.setText("");pf.setText("");}});//Add HBox and GridPane layout to BorderPane Layoutbp.setTop(hb);bp.setCenter(gridPane);  //Adding BorderPane to the scene and loading CSSScene scene = new Scene(bp);scene.getStylesheets().add(getClass().getClassLoader().getResource("login.css").toExternalForm());primaryStage.setScene(scene);primaryStage.titleProperty().bind(scene.widthProperty().asString().concat(" : ").concat(scene.heightProperty().asString()));//primaryStage.setResizable(false);primaryStage.show();}
}

為了正確設置此應用程序的樣式,您需要在項目的/ src文件夾中創建login.css文件。 如果您不知道該怎么做,請查看JavaFX 2:樣式按鈕教程 。

這是我們示例CSS代碼:

#root {-fx-background-color:  linear-gradient(lightgray, gray);-fx-border-color: white;-fx-border-radius: 20;-fx-padding: 10 10 10 10;-fx-background-radius: 20;}#bp {-fx-background-color:  linear-gradient(gray,DimGrey );}#btnLogin {-fx-background-radius: 30, 30, 29, 28;-fx-padding: 3px 10px 3px 10px;-fx-background-color: linear-gradient(orange, orangered );
}#text {-fx-fill:  linear-gradient(orange , orangered);
}

多數民眾贊成在本教程中,如果您有任何意見或問題,請隨時發表評論。 如果您喜歡本教程,則可以在此博客上查看更多JavFX 2教程。

您可能想看一下下面的這些教程:

  • JavaFX 2:使用CSS設置按鈕樣式
  • JavaFX 2:使用CSS設置文本樣式

參考: JavaFX 2:在Zoran Pavlovic博客博客上,從我們的JCG合作伙伴 Zoran Pavlovic 創建尼斯登錄表單 。


翻譯自: https://www.javacodegeeks.com/2012/06/in-this-tutorial-i-will-design-nice.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372478.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372478.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372478.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c html導出成word,html轉word-html如何轉換成WORD

1、打開HTML文件,點擊菜單欄文件→使用MicrosoftOfficeWord編輯,之后系統會自動打開Word并顯示HTML文件的內容,這是保存即可。2、如果找不到“使用MicrosoftOfficeWord編輯”的話,點擊菜單欄工具→Internet選項→程序→HTML編輯器…

怎么解決tomcat占用8080端口問題

怎么解決tomcat占用8080端口問題 相信很多朋友都遇到過這樣的問題吧,tomcat死機了,重啟eclipse之后,發現Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.The server may already be running in…

ADO Recordset 對象鏈接

http://baike.baidu.com/link?url4Xdc46R8M5uj-BbOGaH761N5oDEYlGQJFeR2WbPwx1iQBusAUKU3qbWcHZCMmayatj9nzxPW7HdPToL6roD3Y_ 轉載于:https://www.cnblogs.com/loanhicks/p/5788451.html

mvc4 html.beginform,MVC4 Html.BeginForm在Internet Explorer中提交按鈕 9不工

我已經寫在ASP.NET MVC4 /剃刀的形式。 該表格后很完善在Firefox和Chrome,但由于某種原因在Internet Explorer 10和11,“提交”按鈕沒有反應。 (Internet Explorer 9的作品也不錯)。這是我的看法形式的樣子:using (Html.BeginForm("MyAc…

頁面傳值的方法 和JSON與字符串和對象之間的轉換

json數據解析 就是將json轉換為數組或對象 json數據序列化 就是將數組或對象轉化為json轉載于:https://www.cnblogs.com/yaomengli/p/6678709.html

JasperReports JSF插件用例系列

這是文章系列的切入點,在該系列文章中,我將嘗試介紹JasperReport JSF Plugin的一些用例, JasperReport JSF Plugin是一種工具,旨在輕松地將為JasperReports設計的業務報告集成到JSF應用程序中。 該系列中描述的所有示例都可以從Ja…

回歸分析

一元線性回歸模型: 一元線性回歸分析的主要任務是: 解得: 三、檢驗、預測與控制: 1)F檢驗法: 2)t檢驗法 3)r檢驗法 3預測: 四、可線性化的一元非線性回歸(曲線…

與傳統的計算機硬件系統相比,計算機一級名詞解釋

目前微型機中普遍采用的字符編碼是ASCII碼。它是用7位二進制數對127個字符進行編碼,其中前32個是一些不可打印的控制符號。多媒體系統由主機硬件系統、多媒體數字化外部設備和多媒體軟件三部分組成。機器語言和匯編語言都是"低級"的語言,而高級…

ubuntu安裝jdk1.8

sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-installer 轉載于:https://www.cnblogs.com/czwangzheng/p/5793488.html

【java】對象變成垃圾被垃圾回收器gc收回前執行的操作:Object類的protected void finalize() throws Throwable...

1 package 對象被回收前執行的操作;2 class A{3 Override4 protected void finalize() throws Throwable {5 System.out.println("在對象變成垃圾被gc收回前執行的操作。");6 }7 }8 public class Test_finalize {9 public static void main(…

服務器 風扇測試軟件,圖解服務器風扇安裝的正確方法

一般不是太垃圾的機箱總有兩個地方可以裝風扇,前面的一般在硬盤托架處,后面的一般在電源下面,鍵盤口上方。有的機箱出廠就已經裝好1~2個風扇了。圖中越紅的區域溫度相對越高。應該什么樣的風道合理呢?1、前后都裝機箱風扇的情況應…

處理Weblogic卡住的線程

定義或卡線是什么? 如果線程 在設定 的時間 內連續工作(非空閑),則WebLogic Server會將其診斷為阻塞 。 您可以通過更改在診斷出線程被阻塞之前的時間長度( Stuck Thread Max Time ),以及通過更…

控件自定義左鍵點擊消息相應函數的問題(請懂的人來解答一下)

【問題描述】 自定義CTouchInputEdit類,繼承自CEdit。 實現一個新的功能,當點擊edit控件的時候,彈出一個輸入框。 下面的代碼片段1,當點擊控件之后,會彈出輸入框,退出輸入框以后,在窗體的任何位…

電話圈(floyd)

題意: 如果兩個人相互打電話,則說他們在同一個電話圈里。例如,a打給b,b打給c,c打給d,d打給a,則這4個人在同一個圈里;如果e打給f但f不打給e,則不能推出e和f在同一個電話圈…

計算機二級網址打不開,大神為你解決win7系統打不開二級網頁鏈接的操作教程...

許多win7系統電腦的時候,常常會遇到win7系統打不開二級網頁鏈接的情況,比如近日有用戶到本站反映說win7系統打不開二級網頁鏈接的問題,但是卻不知道要怎么解決win7系統打不開二級網頁鏈接,我們依照首先我們打開IE瀏覽器,然后點擊上…

3步實現Jetty和Eclipse集成

本教程將引導您逐步了解如何集成Jetty和Eclipse,以及如何在Eclipse中的Jetty服務器上運行Web應用程序。 腳步: 安裝Jetty Eclipse插件 建立網路應用程式 運行網絡應用 1 –安裝Jetty Eclipse插件 將服務器添加到“服務器”視圖時,將不會…

【Linux開發】如何更改linux文件的擁有者及用戶組(chown和chgrp)

本文整理自: http://blog.163.com/yanenshun126/blog/static/128388169201203011157308/http://ydlmlh.iteye.com/blog/1435157一、基本知識在Linux中,創建一個文件時,該文件的擁有者都是創建該文件的用戶。該文件用戶可以修改該文件的擁有者…

使用Akka處理1000萬條消息

Akka演員承諾并發。 有什么更好的模擬方式,看看使用商品硬件和軟件處理1000萬條消息需要花費多少時間,而無需進行任何低級調整。我用Java編寫了整個1000萬條消息的處理過程,整個結果令我驚訝。 當我在具有Intel i5 – 4核,4 Gb RA…

PHP中unset,array_splice刪除數組中元素的區別

php中刪除數組元素是非常的簡單的,但有時刪除數組需要對索引進行一些排序要求我們會使用到相關的函數,這里我們來介紹使用unset,array_splice刪除數組中的元素區別吧 如果要在某個數組中刪除一個元素,可以直接用的unset,但是數組的…

dart服務器開發性能,DartVM服務器開發(第四天)--代碼優化

優化請求上一篇文章中,我們通過依賴第三方http_server這個包實現將html頁面返回給瀏覽器,但是一般的服務器都包含請求html,json格式的傳遞,這樣就有可能造成了混亂,下面我們使用http_server這個包進行優化吧&#xff0…