java - 在 Java Swing 中放置组件

标签 java swing formatting layout-manager

哦,那里有干草,没看到你。我想知道是否有更好、更有效的方法来格式化 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/

相关文章:

java - JInternalFrame图像包

python - 均匀地并排打印 2 个均匀填充的列表

javascript - 什么是用于修复丢失的分号的良好独立 JavaScript 格式化程序?

java - 级联驱动的自托管版本服务器错误

java - 如何将 Espresso 2(用于测试)与扩展应用程序(android.app.Application)一起使用?

java - 动画在 ViewPager 中滑动,图像发生变化

java - 如何在java中使用Process Builder来运行Linux shell命令?

java - 如何主动更新图像的位置?

java - 停止可能永远循环的线程

在 Prolog 中格式化表格