所以我有我的Main,并且在其中完成。

  JFrame CF = new JFrame();
    CF.setLayout(new BorderLayout());
    CF.add(new CarGUI(), BorderLayout.NORTH);
    // CF.add(new CarGUI(), BorderLayout.SOUTH);
    //' South FlowLayout ' here ^
    CF.setSize(600,400);
    CF.setVisible(true);


在我的CarGUI类中,我有:

public class CarGUI extends JPanel {

private CarTaxManager manager;
private JLabel lpLabel;
private JTextField searchField;
private JButton searchButton;

public CarGUI(){
    FlowLayout NorthLayout = new FlowLayout();
    //this.setLayout(new FlowLayout());
    this.setLayout(NorthLayout);
    lpLabel = new JLabel("License Plate");
    searchField = new JTextField(10);
    searchButton = new JButton("Search");

    add(lpLabel);
    add(searchField);
    add(searchButton);
}


因此,基本上必须在这里发生的事情是,我需要制作另一个流布局,称为“ SouthLayout”,并且基本上,我需要将其放置到那个布局上。但是,必须在CarGUI内部完成布局。我似乎无法正常工作。

编辑:

最终看起来像什么:

java - 一类中有多个FlowLayouts?-LMLPHP

因此,我总共需要两个FlowLayouts。一个在顶部,一个在底部。它们都不在中间包含TextPane。
这一切都在主要的borderLayout中。

提前致谢!

最佳答案

听起来很像BorderLayout的候选人

鉴于您向我们展示的内容,我已经修改了您的代码以开始实施它的一个好的开始:

public class CarGUI extends JPanel {

private CarTaxManager manager;
private JLabel lpLabel;
private JTextField searchField;
private JButton searchButton;

public CarGUI(){
    setLayout(new BorderLayout());

    JPanel north = new JPanel();
    north .setLayout(new FlowLayout());
    lpLabel = new JLabel("License Plate");
    searchField = new JTextField(10);
    searchButton = new JButton("Search");
    north.add(lpLabel);
    north.add(searchField);
    north.add(searchButton);
    add(north, BorderLayout.NORTH);


    JPanel center = new JPanel();
    center.setLayout(new FlowLayout());
    //TODO add components to center
    add(center, BorderLayout.CENTER);

    JPanel south= new JPanel();
    south.setLayout(new FlowLayout());
    //TODO add components to south
    add(south, BorderLayout.SOUTH);

}

关于java - 一类中有多个FlowLayouts?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33108497/

10-10 08:14