使按钮拆分JPanel - Java Swing

时间:2016-04-28 23:29:33

标签: java swing

我有一个BorderLayout正在进行,我正在开发North面板。在North面板中,我想要有3个组件:左边的图片和分割Frame剩余宽度的两个按钮。现在我正试图用另一个BorderLayout完成此任务。

Frame可调整大小。

图片已分配给BorderLayout.WEST,并使用以下代码尝试添加另一个仅包含按钮的面板。然后,该面板会添加到CENTER的{​​{1}}布局组件的Frame

NORTH
然而,按钮都试图占据整个面板。如果我将其保留为流程布局(我在上面的代码中不使用//create panel to hold buttons JPanel btnPanel = new JPanel(); btnPanel.setLayout(new BorderLayout()); JButton btnMatrix = new JButton("Matrix View"); btnPanel.add(btnMatrix); JButton btnList = new JButton("List View"); btnPanel.add(btnList); add(btnPanel); ),则按钮位于中心,但不会展开并共享btnPanel.setLayout(new BorderLayout());

思考?我对Java很新,以至于我从一开始就会采用错误的方式解决这个问题。

1 个答案:

答案 0 :(得分:3)

var items:Array = [];

for (var i:int = 0; i < 5; i++) {
    var mc:_myClip = new _myClip();

    container.holder.addChild(mc);
    items.push(mc);
}

items[2].x = 40;

将按钮添加到面板时未指定约束。因此两个按钮都被添加到CENTER中。但是,只有一个组件可以添加到CENTER中,因此只显示添加的最后一个组件。

您可以尝试不同的布局:

btnPanel.setLayout(new BorderLayout());

然后每个按钮的大小都相同,两个按钮都将填满可用空间。