当前位置: 首页 > 面试题库 >

仅在成功登录数据库后,才打开JFrame。使用Eclipse?

席俊驰
2023-03-14
问题内容

我要尝试做的是仅在连接数据库中验证了登录信息之后,才从登录屏幕打开主应用程序

到目前为止,我使用Eclipse:

database.java :使用UCanAccess连接到MS Access数据库。(成功)

login.java :扩展JFrame的登录窗口。输入用户名和密码后,将使用数据库进行验证。(成功)

Home.java :主应用程序窗口,我只希望使用正确的用户名和密码进行访问。不扩展JFrame,但其中包含JFrame。

现在,我已经能够进行设置,以便如果输入的用户名和密码正确,则会弹出一个窗口,提示“成功登录”。但是,如何进行设置,以便成功登录后打开Home.java?

我已经看过: 打开一个新的JFrame-我已经用home尝试了setVisible,但是Eclipse返回一个错误,说要在Home中创建setVisible方法…我认为这应该是一个自动控件?尝试创建该方法后,只会出现更多问题。

JFrame打开另一个 JFrame-
建议添加actionListener,然后将其设置为visible ..我已经完成了:public voidactionPerformed(ActionEvent e) {this.setVisible(false);newHome().setVisible(true);但是Eclipse根本没有打开登录窗口。最初,我认为可能是因为我的成功消息位于actionListener中,但是即使将其删除也仍然无法正常工作。

单击按钮后,从Java类和“
打开”窗口中调用Jframe-我的唯一结论是,这不起作用,因为Home.java不扩展JFrame?但是,我通读其他资料,使用“ extends JFrame”不好吗?

我想我也不了解类中“扩展JFrame”与新JFrame之间的区别?我一直在独自学习Java,而且还不熟悉GUI创建。也许我缺少一些非常明显的东西,但是我找不到解决方案。

有任何想法吗?谢谢

为了给出一个想法,我的Home.java像这样开始:

public class Home {

    private JFrame frame;
    private JTable data;
    private JTextField Column1;
    private JTextField Column2;
    private JTable table;

    // Launch the application.

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Areas window = new Areas();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    // Create the application.

    public Home() {
        initialize();
    }

    //Initialize the contents of the frame.

    private void initialize() {


        frame = new JFrame();
        frame.setBounds(100, 100, 697, 518);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

问题答案:

只需在Home类中创建一个将其JFrame设置为可见的方法即可:

public void setJFrameVisible(boolean visible)
{
    frame.setVisible(visible);
}

然后,假设您的Home类实例称为“ home”,那么您要做的就是:

home.setJFrameVisible(true);

让我添加更多背景信息。扩展JFrame时,该类将继承JFrame类的所有方法/属性。这就是为什么扩展JFrame时只能调用obj.setVisible(true)的原因,因为您的类继承了JFrame类的setVisible方法。您拥有的是一个包含JFrame的类,因此您必须在内部JFrame而不是该类上调用setVisible方法。



 类似资料:
  • 我使用spring和security with创建了一个REST服务。当前,当我点击url时,我获得了访问令牌,然后使用它发送基本登录凭据,该凭据在文件中是静态的。如何使用数据库提供用户身份验证?

  • 问题内容: 我想要在spring成功注册后自动登录:我有一个受保护的页面,需要登录才能访问它们,我要在注册后跳过登录页面并进行自动登录,以便用户可以看到受保护的页面有我吗?我正在使用spring 3.0,spring security 3.0.2,该怎么做? 问题答案: 可以通过以下方式(半伪代码)通过spring安全性完成此操作: 更新:仅包含注册后如何创建会话

  • 主要内容:通过命令行客户端软件登录当MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows 操作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。 登录 MySQL 数据库的具体操作步骤如下: 步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。 步骤 2):打开命令行提示符界面,输入命令 ,按回车键,如图所示。 步骤 3):在

  • 我有一个moodle数据库(其中有完整的用户)。所以,我想创建一个登录表单(只是为了好玩),并且用户可以用他们的moodle帐户credidentials登录。Moodle为每个单独的用户使用密码盐,我如何在我的代码中盐密码来与db记录进行比较?

  • 我在Dreamweaver的帮助下创建了这个登录页面,并希望使其用户名字段必须与SQL数据库中的用户名匹配才能创建密码。我不太熟悉这一点,也不确定我需要做什么来要求一个现有的用户名,然后向数据库中的用户名行添加密码。 以下是Dreamweaver创建的php代码:与数据库的连接已经存在,因此我知道下面的代码中不存在该连接。这就像一个正常的注册页面一样好用,但我不希望任何人都能注册。

  • 对于使用selenium的python程序的不同运行,是否有一种方法可以让我打开并使用凭据登录的浏览器在以后的运行中打开并使用? 我正在调试一个代码。每次我需要使用凭据登录时,都会在浏览器上显示。目前,每次我停止代码时,web浏览器都会关闭。有没有办法让我已经打开并登录的浏览器的副本保持打开状态,并将其用于以后的调试,这样每次我都不需要再次输入登录凭据? 我打开浏览器的代码如下: 编辑: 事实上,