哦,那里有干草,没看到你。我想知道是否有更好、更有效的方法来格式化 java 中的标签、面板和按钮,然后我在下面做了什么。这是我的代码,我想让欢迎、日期和按钮都在不同的行上。这样做的唯一合乎逻辑的方法是创建空白标签,对吧?
private void GeneralTab() {
generalPanel = new JPanel(new FlowLayout());
String currentTime = SimpleDateFormat.getInstance().format(
Calendar.getInstance().getTime());
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel("WELCOME "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel("Today's Date: " + currentTime));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(new JLabel(" "));
generalPanel.add(createExitButton());
}
最佳答案
看来您需要了解更多有关 LayoutManagers
的信息.它们可以帮助您以不同的方式布局组件。
查看 Java 教程。它们可能是开始使用不同布局的最佳方式。
这是教程的链接:
http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html
在您的例子中,您似乎想要使用 BoxLayout
。您应该将所需的组件放在它们自己的 JPanel
中的一行中。然后,将每个 JPanel
添加到 generalPanel
。您需要将 generalPanel
的布局管理器设置为 BoxLayout
,如下所示:
generalPane.setLayout(new BoxLayout(generalPane, BoxLayout.Y_AXIS));
关于java - 在 Java Swing 中放置组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3481751/