0

所以我是第一次学习 Java,是时候尝试我的第一个项目了。我被困在“第一道障碍”哈哈。

我遇到的问题是我实际上不知道如何将 J 项目分开。

我有一个250,350用于登录表单的窗口,其中JLabel一个JTextField用于用户名,一个JLabel JPassword用于密码,JButton底部带有一个。

我现在要做的是设置样式,以便表单顶部和底部之间的间距使其居中,并在JLabel和之间添加行的高度空间JTextField。(基本上是 \n 类型的交易,但这不起作用。)

希望这是有道理的,如果没有,我道歉,我会尝试改写/添加代码!

public Game() {
    this.setSize(250,350);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setTitle("Sticket Cricket - Login");

    JPanel loginMenuPanel = new JPanel();

    loginButton = new JButton("Login");

    usernameField = new JTextField();
    usernameField.setColumns(10);

    passwordField = new JPasswordField();
    passwordField.setColumns(10);
    passwordField.requestFocus();

    usernameLabel = new JLabel("Username: ");

    passwordLabel = new JLabel("Password: ");

    this.add(loginMenuPanel);

    loginMenuPanel.add(usernameLabel);
    loginMenuPanel.add(usernameField);
    loginMenuPanel.add(passwordLabel);
    loginMenuPanel.add(passwordField);
    loginMenuPanel.add(loginButton);

    this.setVisible(true);
}
4

1 回答 1

0

简短的回答:

创建一个 JPanel,设置面板的布局管理器(一些示例,GridLayoutBorderLayout,在此处查看教程,其中解释了更多内容)

然后将您的组件相应地添加到此面板

对于您正在寻找的布局,使用 IDE 来创建它可能会更容易,我发现 Net Beans 最容易做到这一点。

我的建议是为您创建一个具有 2 列和 2 行网格布局的 JPanel,为此添加登录名和密码的 JLabels 和文本字段。

然后创建另一个 JPanel,可能是 BorderLayout 或 Flow Layout,并将上面的面板添加到此,然后将此父面板添加到框架中。

于 2013-06-22T23:58:08.557 回答