0

所以这是一个窗口的构造函数

setLayout(new FlowLayout());
    username = new JTextField("Username");
    password = new JTextField("Password");
    loginlogo = new JLabel(logo6);
    login = new JButton("LOGIN");
    login.setActionCommand("connect");
    login.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            //on clicking connect: the real meat of the log in page
            usernamestring = username.getText();
            passwordstring = password.getText();
            logindataurl = ("URL/aphpscript.php?u=" + username + "&p=" + password);
            try {
                userdatabase = new URL(logindataurl);
                in = new BufferedReader(new InputStreamReader(userdatabase.openStream()));
                checkusername = in.read();
                in.close();
            } catch (MalformedURLException e) {
                new error_messagebox("Malformed URL Exception", e.toString());
            } catch (IOException e) {
                new error_messagebox("Input/Output Exception reading url ", e.toString());
            }


        }
    });

    add(loginlogo, BorderLayout.NORTH);
    add(username,BorderLayout.EAST);
    add(password,BorderLayout.WEST);
    add(login,BorderLayout.SOUTH);

这就是我在 main 中的称呼

login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    login.setSize(500,350);
    login.setIconImage(logo3);
    login.setVisible(true);

但主要是如果一个语句返回真我想进入下一个框,在这个阶段我意识到有JPanel和JFrame这样的东西,

如果有两种类型的容器,我真的不明白它们的用途,但我听说这是使用动作侦听器转到另一个窗口的方法,如果某些功能允许的话,我真的不明白面板和框架的存在不再,

有一个简单的解决方法吗?还是我必须对代码进行重大更改?

4

1 回答 1

0

JFrame 是一个保存 Java 应用程序的 Swing 组件。将其视为您计算机上出现的窗口。一个 JFrame 可以有一个菜单栏 (JMenuBar)。

JPanel 是一个 Swing 组件,它包含其他 Swing 组件,如标签 (JLabel)、文本输入字段 (JTextArea) 和按钮 (JButton)。

一个 JFrame 应该有一个主 JPanel。根据您希望如何安排 Swing 组件,您可能需要额外的 JPanel。

您的代码似乎正在组合一个登录名。您通常会使用 JDialog 来执行登录。

流程是这样的。

  • 通过调用 SwingUtilities.invokeLater(Runnable) 启动 Swing GUI

  • 定义您的 JFrame、JPanel(s) 和所有 Swing 组件。

  • 显示 JFrame

  • 显示登录 JDialog

  • 如果凭据有效,则允许访问 GUI。

Oracle Swing 教程将帮助您理解 Swing。

于 2013-04-24T13:40:36.510 回答