首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用哪种布局以及如何使用?

使用哪种布局以及如何使用?
EN

Stack Overflow用户
提问于 2014-02-11 22:14:19
回答 4查看 509关注 0票数 1

我想设计一个简单的表单,有5个组件:

2个标签、1个测试字段、1个密码文本字段和1个按钮。我想有一个标签,并在它的右边的文本字段。

向下一行(或者更多,应该可以看到漂亮的空格)我想要第二个标签,密码文本字段在它的右边。

在下面的第三行,中间,我想要这个按钮。

我试图在没有WindowsBuilder或任何辅助工具的情况下做到这一点,然而,我是一个Java新手。

代码语言:javascript
运行
复制
package HR;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;


import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JFormattedTextField;
import javax.swing.JButton;

import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class SignIn extends JFrame
{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public SignIn()
    {
        this.setTitle("HR SYSTEM LOGIN SCREEN");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds(100, 100, 308, 179);
        JPanel contentPane = new JPanel();
        this.getContentPane().add(contentPane);

        JLabel userName = new JLabel("User Name");
        contentPane.add(userName);

        JLabel password = new JLabel("Password");
        contentPane.add(password);

        JFormattedTextField userText = new JFormattedTextField();
        contentPane.add(userText);

        JPasswordField passwordText = new JPasswordField();
        contentPane.add(passwordText);

        JButton signButton = new JButton("Sign In");
        contentPane.add(signButton);



    }

}
EN

Stack Overflow用户

发布于 2014-02-12 00:16:33

我会继续使用WindowBuilder或其他可视化图形用户界面构建器来进行初始布局。然后,您可以检查生成的代码,并使用它来查看它是如何工作的。

我不太使用GroupLayout,但我更喜欢GridBagLayout。GridBag一开始令人困惑,但一旦你掌握了它的诀窍,它就不会太糟糕了。如果你使用相对定位而不是绝对定位,你的布局将更容易维护。

MiGLayout是另一个很好的布局,它比GridBagLayout更容易上手,但它也不完美(至少,我上一次使用它不是在几年前)。当我用它手动布置更复杂的面板时,它至少和GridBagLayout一样冗长。

如果你想手动调整布局,WindowBuilder实际上非常适合让你在所见即所得编辑和手工编码之间切换。将一个可以正常工作的GUI版本提交到存储库(git、mercurial、cvs、svn等)也不会有什么坏处。在你开始手动调整它之前,只是以防万一,这样你就可以很容易地将修改后的代码与原始代码进行比较。(如果您还没有使用版本控制系统,请立即开始使用。如果我必须推荐一个,我会说使用git,但任何分布式版本控制系统都会比您现在正在做的更好,并且一个与您的IDE和/或工作流的其他部分良好集成的系统将为您节省更多的时间和挫折。)

请记住,有时使用嵌套布局很有用;您不必只使用一种布局。

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21704278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档