【问题标题】:Java Styling - SpacingJava 样式 - 间距
【发布时间】:2013-06-24 16:23:46
【问题描述】:

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

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

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

我现在要做的是设置样式,使表单顶部和底部之间的间距使其居中,并在 JLabel 和 @987654332 之间添加行高空间@。 (基本上是 \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);
}

【问题讨论】:

  • 1) Java GUI 可能必须在多个平台、不同的屏幕分辨率和使用不同的 PLAF 上工作。因此,它们不利于组件的精确放置。要为强大的 GUI 组织组件,请改为使用布局管理器或它们的组合,以及用于空白空间的布局填充和边框。 2) 为了尽快获得更好的帮助,请发布您当前尝试的SSCCE。 3) “希望这是有道理的,如果不是......” ..以最小尺寸和扩展时发布 GUI 的 ASCII 艺术。
  • 您需要查看 Layout-Managers,Java 内置了许多布局管理器(请参阅docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)。我通常使用外部布局管理器(表格布局 - code.google.com/p/table-layout)。还有更多最近的布局管理器,例如 mig 布局
  • public Game() {.. 要尽快获得更好的帮助,请发布SSCCE 而不是无法编译的代码 sn-ps。

标签: java swing layout-manager styling


【解决方案1】:

简答:

创建一个JPanel,设置面板的布局管理器(一些例子,GridLayout,BorderLayout,查看tutorial here,其中有更多解释)

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    相关资源
    最近更新 更多