【问题标题】:Laying ot components in Java Swing在 Java Swing 中放置 ot 组件
【发布时间】:2010-08-14 02:20:17
【问题描述】:

哦,干草,没看到你。我想知道是否有一种更好、更有效的方式来格式化 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());
 }

【问题讨论】:

  • 如果您对我的回答有任何疑问,请告诉我。

标签: java swing formatting layout-manager


【解决方案1】:

看来您需要进一步了解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));

【讨论】:

  • 我仍然可以习惯 oracle.com 的 java 文档和教程链接... :)
  • @Lipis,哈哈,我知道。每次我要点击一个时,我都会犹豫一下。
  • @qmega,是的,我说应该在一行上的所有组件都需要一个 JPanel。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 2012-01-12
  • 2011-12-07
  • 2020-08-11
  • 2011-06-04
  • 2013-01-28
  • 2017-08-15
相关资源
最近更新 更多