在Java Swing中放置组件

Dav*_*vid 3 java formatting swing 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());
 }
Run Code Online (Sandbox Code Playgroud)

jjn*_*guy 7

看起来您需要了解更多信息LayoutManagers.它们可以帮助您以不同方式布局组件.

查看Java教程.它们可能是开始使用不同布局的最佳方式.

这是教程的链接:

http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html

在你的情况下,看起来你想要使用BoxLayout.您应该将所需的组件放在一行中JPanel.然后,将每个添加JPanelgeneralPanel.你需要的布局管理器设置generalPanelBoxLayout如下所示:

generalPane.setLayout(new BoxLayout(generalPane, BoxLayout.Y_AXIS));
Run Code Online (Sandbox Code Playgroud)