如何设置流程布局?

时间:2014-03-27 10:51:47

标签: java swing

嗨我正在尝试制作java桌面应用程序,我试图让jbutton左下角我做了以下代码我不知道我错在哪里我的代码是注意工作

这是我的代码

import java.awt.*;
import java.awt.event.*;
import javax.imageio.ImageIO;
import javax.swing.*;

new complete code 

    public class ApplicationCloseExample
    {   
        private JButton[] buttons;
        private void displayGUI()
        {
            final JFrame frame = new JFrame("Application Close Example");





            JPanel bottomPanel = new JPanel();
            bottomPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
              for (int i = 5; i < 8; i++) {
                 buttons[i] = new JButton(Integer.toString(i));
                    bottomPanel.add(buttons[i]);
              }

           // JButton button = new JButton("Comment");
           // bottomPanel.add(button);

        //    frame.getContentPane().add(contentPane, BorderLayout.CENTER);
            frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH);

            frame.pack();
            frame.setVisible(true);
        }

        public static void main(String... args)
        {
            SwingUtilities.invokeLater(new Runnable()
            {
                public void run()
                {
                    new ApplicationCloseExample().displayGUI();
                }
            });
        }
    }

我怎样才能实现这个目标

2 个答案:

答案 0 :(得分:2)

我将假设空指针异常与您的按钮数组有关。检查您是否已正确初始化它。

private JButton[] buttons = new JButton[8];

我将您的代码复制到测试项目中并在经过一些修改后运行它:

public static void main(String[] args) {

    final JFrame frame = new JFrame("Application Close Example");

    JPanel bottomPanel = new JPanel();
    bottomPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
      for (int i = 5; i < 8; i++) {
         buttons[i] = new JButton(Integer.toString(i));
            bottomPanel.add(buttons[i]);
      }

    frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH);

    frame.pack();
    frame.setVisible(true);
}

这产生了一个框架,其中三个按钮与窗口的左下方对齐。

答案 1 :(得分:0)

有一个优雅的解决方案,我会给你但也许它有用。使用WindowsBuilder并添加几个按钮,然后你看起来像放置代码。因此,让自己了解带有Flow的setLayout之后的模式。