如何防止为BoxLayout扩大JFormattedTextField?

时间:2016-11-10 14:26:18

标签: java swing layout-manager boxlayout

我希望在一列中包含JFormattedTextField个组件。我不明白为什么这段代码会扩大到最大尺寸。

    // Create the text fields and set them up.
    priemerKolesa = new JFormattedTextField(numberFormat);
    priemerOsi = new JFormattedTextField(numberFormat);
    hrubkaPlasta = new JFormattedTextField(numberFormat);
    hrubkaKolesa = new JFormattedTextField(numberFormat);
    hrubkaNavinu = new JFormattedTextField(numberFormat);
    hrubkaNavinu.setColumns(6);
    // Layout the text fields in a panel.
    JPanel fieldPane = new JPanel();
    fieldPane.setLayout(new BoxLayout(fieldPane, BoxLayout.Y_AXIS));
    fieldPane.add(priemerKolesa);
    fieldPane.add(priemerOsi);
    fieldPane.add(hrubkaPlasta);
    fieldPane.add(hrubkaKolesa);
    fieldPane.add(hrubkaNavinu);

我希望将它放在一个很好的堆栈中,而不是像这样展开。

1 个答案:

答案 0 :(得分:1)

似乎var arr = [{ a: "a1", b: "b1" },{ a: "c1", b: "d1" },{ a: "e1", b: "f1" }]; var res = arr.map(obj => JSON.stringify(obj).replace(/[{}]/g,"")); console.log(res.join(","))拉伸组件以适应可用空间。一种方法是首先将每个组件放入BoxLayout JPanel拉伸其中的组件)然后使用{{1将该面板添加到容器中}}。例如。以上述MCVE的形式:

FlowLayout