javafx实现登录注册界面

2023-11-13

package sample;

import JavaBigJob.BaseScene;
import javafx.scene.Parent;
import javafx.scene.layout.Pane;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.sql.ResultSet;
import java.sql.SQLException;

public class LoginFrame extends Application{
    Label nameLabel = new Label("User Name :");
    Label passwordLabel = new Label("Password  : ");

    HBox user = new HBox();
    HBox password = new HBox();
    TextField tfUser = new TextField();
    PasswordField tfPassword = new PasswordField();
    Button btLogIn = new Button("Log in");
    Button btSignIn = new Button("Sign in");
    HBox h3 = new HBox();//装按钮
    VBox pane = new VBox();

    @Override
    public void start(Stage stage) {
        user.getChildren().addAll(nameLabel,tfUser);
        user.setAlignment(Pos.CENTER);
        user.setSpacing(20);

        password.getChildren().addAll(passwordLabel,tfPassword);
        password.setAlignment(Pos.CENTER);
        password.setSpacing(20);

        h3.setAlignment(Pos.CENTER);
        btLogIn.setAlignment(Pos.BASELINE_RIGHT);
        btSignIn.setAlignment(Pos.BASELINE_RIGHT);
        h3.getChildren().addAll(btLogIn,btSignIn);
        h3.setSpacing(20);

        pane.setAlignment(Pos.CENTER);
        pane.setSpacing(20);
        pane.getChildren().addAll(user,password,h3);

        stage.setScene(new Scene(pane,400,250));
        stage.setTitle("Welcome!");
        stage.show();

        btLogIn.setOnAction(e->{
            if(user_exist()==false){
                System.out.println("用户不存在");
                HBox hBox = new HBox();
                Label label = new Label("用户不存在");
                ImageView image = new ImageView("No.png");
                image.setFitWidth(150);
                image.setFitHeight(120);
                hBox.setAlignment(Pos.CENTER);
                hBox.setSpacing(10);
                hBox.getChildren().addAll(image,label);
                Stage stage1 = new Stage();
                stage1.setScene(new Scene(hBox,300,200));
                stage1.setTitle("ERROR");
                stage1.show();
            }
            else if(user_right() & detection_information()){
                stage.hide();
                //登陆成功
                new Table01();
            }
        });

        btSignIn.setOnAction(e->{
            if(user_exist()){
                System.out.println("用户已存在");
                HBox hBox = new HBox();
                Label label = new Label("用户已存在");
                ImageView image = new ImageView("No.png");
                image.setFitWidth(150);
                image.setFitHeight(120);
                hBox.setAlignment(Pos.CENTER);
                hBox.setSpacing(10);
                hBox.getChildren().addAll(image,label);
                Stage stage1 = new Stage();
                stage1.setScene(new Scene(hBox,300,200));
                stage1.setTitle("ERROR");
                stage1.show();
            }
            else if(detection_information())
            {
                DataBaseUtil db = new DataBaseUtil();
                String sql = "INSERT INTO t_users (userName,password) VALUES (?,?)";
                db.updateExecute(sql,new String[]{tfUser.getText(),tfPassword.getText()});
                HBox hBox = new HBox();
                Label label = new Label("注册成功!");
                ImageView image = new ImageView("yes.png");
                image.setFitWidth(150);
                image.setFitHeight(120);
                hBox.setAlignment(Pos.CENTER);
                hBox.setSpacing(10);
                hBox.getChildren().addAll(image,label);
                Stage stage1 = new Stage();
                stage1.setScene(new Scene(hBox,300,200));
                stage1.show();
            }
        });
    }
    public Boolean user_exist(){//判断是否已存在用户
        DataBaseUtil db = new DataBaseUtil();
        String sql = "select count(*) from t_users where username = '"+tfUser.getText()+"'";
        try {
            ResultSet rs = db.queryExecute(sql);
            rs.next();
            if(rs.getInt(1)==1){
                return true;
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return false;
    }
    public Boolean user_right(){
        DataBaseUtil db = new DataBaseUtil();
        String sql = "select count(*) from t_users where username = ? and password = ?";
        try {
            ResultSet rs = db.queryExecute(sql,new String[]{tfUser.getText(),tfPassword.getText()});
            rs.next();
            if(rs.getInt(1)==1){
                return true;
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        System.out.println("用户名或密码不正确");
        HBox hBox = new HBox();
        Label label = new Label("用户名或密码不正确");
        ImageView image = new ImageView("No.png");
        image.setFitWidth(150);
        image.setFitHeight(120);
        hBox.setAlignment(Pos.CENTER);
        hBox.setSpacing(10);
        hBox.getChildren().addAll(image,label);
        Stage stage1 = new Stage();
        stage1.setScene(new Scene(hBox,300,200));
        stage1.setTitle("ERROR");
        stage1.show();
        return false;
    }

    public Boolean detection_information(){//判断信息是否填写完全

        if (tfUser.getText().equals("")||tfPassword.getText().equals("")){
            System.out.println("信息不全!");
            HBox hBox = new HBox();
            Label label = new Label("用户信息填写不全!");
            ImageView image = new ImageView("No.png");
            image.setFitWidth(150);
            image.setFitHeight(120);
            hBox.setAlignment(Pos.CENTER);
            hBox.setSpacing(10);
            hBox.getChildren().addAll(image,label);
            Stage stage1 = new Stage();
            stage1.setScene(new Scene(hBox,300,200));
            stage1.setTitle("ERROR");
            stage1.show();
            return false;//信息不全
        }
        return true;//信息全
    }

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javafx实现登录注册界面 的相关文章

  • 即使在轴上进行自动量程调整,我也可以保留积分刻度线吗?

    我 偷 了一些代码here http fxexperience com 2012 01 curve fitting and styling areachart 拥有一个AreaChart我在 FXML 中使用了 平滑线条 它的工作原理如下
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • JavaFX:将像素写入 PixelWriter 的最快方法

    我正在寻找最快的方式来写入像素javafx scene image Image 写信给BufferedImage的后备数组要快得多 至少在我制作的测试图像上 只花了大约 20 毫秒BufferedImage WritableImage另一方
  • 错误:缺少 JavaFX 运行时组件,并且需要使用 Gradle 示例来运行此应用程序

    我知道这个问题已被问过多次 但我似乎找不到解决方案 摘自官方指南示例 https openjfx io openjfx docs gradle https openjfx io openjfx docs gradle我继续添加了我的构建 g
  • 如何从具有重复条目的过滤列表中删除特定索引?

    我有一个TableView由一个支持SortedList包裹一个FilteredList包裹一个ObservableList 过滤列表中的项目可以重复 也就是说 有可能是这样的情况list get 5 list get 10 用户可以选择行
  • JAVAFX 缩放、ScrollPane 滚动

    I have JAVAFX application with zoom and scale as described here Scale at pivot point in an already scaled node https sta
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • JavaFX 打印自定义纸张尺寸

    在 JavaFX 中 我想将照片打印到 10x15 的纸张上 有一些纸张常数 但没有 100x150 mm 常数 是否可以创建自己的纸张以在页面布局中使用它 Thanks PageLayout pageLayout printer crea
  • JavaFX 2 XYChart.Series 和 setOnMouseEntered

    是否可以设置 XYChart Series 的实例来作用于 setOnMouseEntered 在我看来 使其工作的一个前提条件是实现 EventTarget 接口 至于JavaFX XYChart Series 当光标触摸黄线时 我想突出
  • 仅当用户开始输入时清除 JavaFX TextField 中的提示文本

    默认行为是当字段获得焦点时 字段中的提示文本将被删除 那是标记在场上的时候 是否可以配置文本字段 以便仅在用户开始输入时删除提示文本 否则 我需要在每个文本字段旁边 上方添加一个标签 以描述其中的值 我知道它有点旧 但我自己也需要它 这仍然
  • 如何在JavaFX中为TextArea设置圆角?

    我需要在 TextArea 上有圆角 但它看起来有点奇怪 看起来 有些内层也应该有相同半径的圆角 但是哪一个呢 我使用这个CSS text area fx background color dbb1b1 fff0f0 fx backgrou
  • JavaFX:setWrapText(true) (WordWrap) 在 ListView 中不起作用

    在 ListView Cell 中激活 WordWrap 时 文本不会换行 这是一个例子 public class ListBug extends Application public static void main String arg
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言
  • JavaFX 可以在 Android 上运行吗?

    如果不这样做那就太可惜了 因为这将使 Android 应用程序看起来更有吸引力 现在还不行 要让它发挥作用将是一项艰巨的任务 Android 不具备典型桌面 JRE 所具备的所有库 尽管Android是开源的并且它会运行任何可以编译为Dal
  • 使用translateX()和translateY()时,窗格布局内的JavaFX文本与其他元素重叠

    下图是对正在发生的情况的描述 我有一个Pane其中包含一个Text我正在使用下面的代码来制作marquee like effect of the Text 所以当Pane没有足够的空间来显示文本 动画正在开始 文本必须来回移动 以便用户可以
  • 如何平滑拖动JavaFX多边形?

    我有一个多边形 三角形 我想让它可以用鼠标拖动 下面是我尝试过的代码 但是使用此代码我无法顺利拖动它 请让我知道如何才能使其顺利拖动 public void start Stage primaryStage throws Exception
  • JavaFX TabPane 禁用按键切换选项卡

    我有一个Tab有一些内容 ScrollBar和别的 The ScrollBar has event handler for keys left and right 但如果我按下这些按钮Tabs被切换 因为TabPane还有一个密钥处理程序
  • 无法启动使用 Apache POI 的 JavaFX 应用程序

    我有一个按预期工作的 JavaFX 应用程序 我需要使用 Apache POI 来读取和写入 excel 文件 以下是我已采取的步骤 添加了所需的依赖 implementation org apache poi poi ooxml 5 2
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 如何强制 JavaFX 字体抗锯齿?

    在测试 JavaFX 8 应用程序的 GUI 时 我注意到某些标签不显示抗锯齿文本 经过一番谷歌搜索和挣扎后 我发现正在发生一件非常烦人的事情 抗锯齿仅应用于字体大小大于 80 像素的标签 下面是一个比较应用了 AA 的 JavaFX 和

随机推荐