在本教程中,我将使用JavaFX 2和CSS设计漂亮的Login Form 。 它是经典的登录表单,带有用户名和密码以及登录按钮。 为了遵循本教程,我强烈建议您查看以下这些教程:

  • Eclipse IDE中的JavaFX 2入门
  • JavaFX 2:HBox
  • JavaFX 2:GridPane
  • JavaFX 2:样式按钮
  • JavaFX 2:使用文本和文本效果

用户名: JavaFX2 密码:密码

您可以在上方输入此信息,然后单击“登录”按钮。 它会提示您登录成功,但是如果输入错误信息,则会提示您登录不成功。
本教程的最终输出屏幕截图如下图所示。

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

JavaFX 2:创建登录表单相关推荐

  1. javafx 表单_JavaFX 2:创建登录表单

    javafx 表单 在本教程中,我将使用JavaFX 2和CSS设计一个外观漂亮的Login Form . 它是经典的登录表单,带有用户名和密码以及登录按钮. 为了遵循本教程,我强烈建议您查看以下这些 ...

  2. SharePoint创建登录表单

    2019独角兽企业重金招聘Python工程师标准>>> SharePoint其实是微软frontpage的升级版,现在已经改为webmatix,不过webmatrix要占用很多内存 ...

  3. element-ui表单_每日UI挑战强加-登录表单(分步教程)

    element-ui表单 A step by step journey to create a good design from the daily UI challenge 一步步走,从日常的UI挑 ...

  4. JavaFX官方教程(六)之带有JavaFX CSS的花式表单

    翻译自  带有JavaFX CSS的花式表单 本教程通过添加级联样式表(CSS)使您的JavaFX应用程序看起来很有吸引力.您开发设计,创建.css文件并应用新样式. 在本教程中,您将获取一个使用标签 ...

  5. 使用qt设计登录界面初学者_初学者素描:设计登录表单界面

    使用qt设计登录界面初学者 由Bohemian Coding的好伙伴制作的Sketch是界面设计的出色程序. 本入门级教程将向您介绍使用Sketch进行设计. 您将不需要任何程序经验,只需要一些空闲时 ...

  6. [转载]如何正确设计登录表单

    转自:15 Tips for Better Signup / Login UX 翻译工具:彩云小译 -------------------------- 15 Tips for Better Sign ...

  7. 使用 HTML 和 CSS 的玻璃态登录表单(含免费完整源码)

    直接跳到末尾 获取完整源码 在本文中,我将带着大家展示如何使用 HTML 和 CSS 代码创建 玻璃态登录表单.你可以将任何简单的设计转换为玻璃态设计.为此,只需要更改一点代码.首先使用 backgr ...

  8. 前端案例:简易登录表单的制作,包括用户名、密码、随机验证码(代码完整,复制即用)

    案例效果 本案例基于 vue.js 和  Element UI 实现.随机验证码采用 DOM 操作和 canvas 绘制,可随机生成和刷新:后续程序逻辑直接填入方法即可. Element UI 下载安 ...

  9. table和form的使用,以及制作登录表单

    table的简单使用 <table><caption>表格标题</caption><tr><th>列名一</th><th& ...

最新文章

  1. android layout组件,Android UI学习 - Linear Layout, RelativeLayout
  2. js变量传给java_如何把JavaScript中的变量值传给javabean?
  3. LeNet训练MNIST
  4. 数字图像处理:第一章 概述
  5. Bootstrap组件_路径导航,标签,徽章
  6. DVWA设置mysql_解决DVWA配置报错
  7. windows副本不是正版怎么办_盗版系统总是崩溃?别着急,让我来告诉你正版系统怎么下载...
  8. win10安装RabbitMQ
  9. 红米Redmi品牌独立首战告捷:半月多出货超100万
  10. y币充值通道_比特币如何扩容?读懂比特币链下扩容技术进展与投资现状
  11. 新DELL服务器在F2设置界面下raid的配置
  12. ORACLE中用户解锁与改密(以hr用户为例)
  13. Atitit 未来趋势把控的书籍 attilax总结 v3
  14. InnoDB之锁机制
  15. 怎么拷贝计算机桌面,电脑怎么拷贝软件
  16. Vscode配置C++(一步一步图文详解)
  17. C++20新特性全在这一张图里了
  18. python 跨知乎app发私信以及Python专栏30万用户信息爬取
  19. TAM: TEMPORAL ADAPTIVE MODULE FOR VIDEO RECOGNITION ∗
  20. win7--svchost占用内存过大

热门文章

  1. 打印结果和调试结果不一样(C语言)
  2. ide 日志 乱码_IDE日志分析方法pt。 2
  3. java项目教训_[免费电子书]分析超过600,000个Java项目的经验教训
  4. 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
  5. autowired_@Autowired所有的东西!
  6. drill apache_使用Apache Drill深入研究当今的大数据
  7. java8流分组 性能_Java性能教程– Java 8流有多快?
  8. 使用Spring Boot和H2可以完全工作的原型
  9. spring和spring_Spring交易可见性
  10. netbeans7.4_使用NetBeans 7.4 beta提示进行更好的基于JUnit的单元测试