在Swing / AWT组件中`setLayout`方法的目的是什么?

时间:2018-03-29 10:01:36

标签: java swing layout-manager

public void frame_pizza() {
        pizzaMenu.setVisible(true); //makes Jframe pizzaMenu visible
        pizzaMenu.setSize(1300, 750); //set size of Jframe pizzaMenu of width 1300 pixels and height 750 pixels
        pizzaMenu.setDefaultCloseOperation(EXIT_ON_CLOSE);//exit the application when close button (X) is clicked
        p2.setLayout(new GridBagLayout());
        pizzaMenu.setLayout(new BorderLayout());
    }

这两行的目的是什么?

p2.setLayout(new GridBagLayout()); 
pizzaMenu.setLayout(new BorderLayout());

1 个答案:

答案 0 :(得分:2)

Java(Swing / AWT)使用名为LayoutManager的东西在屏幕上放置UI组件。这些LayoutManagers负责在Window上以预定义的方式呈现TextField,CheckBox等组件。

例如:

  • 名为FlowLayout的LayoutManager只是将组件一个接一个地放置。
  • BorderLayout将组件放置在窗口的特定部分,例如顶部(NORTH),底部(SOUTH),左侧(WEST),右侧(EAST)和中心(CENTER)。
  • GridBagLayout是另一个布局管理器,可以让开发人员更精确地呈现组件。

在您的问题中,setLayout方法设置其中一个布局管理器来管理pizzaMenu框架或p2面板的渲染。

您可能应该学习如何在Java中使用不同的布局管理器。

This是一个很好的起点。

希望这有帮助!