美观简约好看的java fxml登录代码
时间: 2023-08-09 21:09:55 浏览: 63
以下是一个简约好看的JavaFX FXML登录窗口的示例代码:
FXML文件(login.fxml):
```xml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane id="loginPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
prefHeight="200.0" prefWidth="300.0" styleClass="loginPane" xmlns="http://javafx.com/javafx/16"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.LoginController">
<children>
<Label layoutX="39.0" layoutY="51.0" text="用户名" />
<Label layoutX="39.0" layoutY="98.0" text="密码" />
<TextField fx:id="usernameField" layoutX="89.0" layoutY="47.0" prefWidth="160.0" />
<PasswordField fx:id="passwordField" layoutX="89.0" layoutY="94.0" prefWidth="160.0" />
<Button fx:id="loginButton" layoutX="129.0" layoutY="151.0" mnemonicParsing="false"
onAction="#handleLogin" text="登录" />
</children>
</AnchorPane>
```
CSS文件(login.css):
```css
.loginPane {
-fx-background-color: #f2f2f2;
}
Label {
-fx-font-size: 14px;
-fx-text-fill: #333333;
}
TextField, PasswordField {
-fx-background-color: #ffffff;
-fx-border-color: #cccccc;
-fx-border-radius: 4px;
-fx-font-size: 14px;
-fx-padding: 4px;
}
Button {
-fx-background-color: #0072C6;
-fx-text-fill: white;
-fx-font-size: 14px;
-fx-font-weight: bold;
-fx-padding: 6px 12px;
-fx-border-radius: 4px;
}
Button:hover {
-fx-background-color: #005ea2;
}
```
Java控制器类(LoginController.java):
```java
package com.example;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;
public class LoginController {
@FXML
private TextField usernameField;
@FXML
private PasswordField passwordField;
@FXML
private Button loginButton;
@FXML
private Text messageText;
@FXML
void handleLogin() {
String username = usernameField.getText();
String password = passwordField.getText();
// TODO: 处理登录逻辑
messageText.setText("用户名或密码错误");
}
}
```
通过加载FXML文件并应用CSS样式,可以创建一个简约好看的登录窗口。在Java控制器类中,可以处理登录逻辑并显示错误信息。