【发布时间】: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