【问题标题】:Java swing gridbaglayout not filling one row entirelyJava swing gridbaglayout没有完全填满一行
【发布时间】:2014-10-30 01:52:43
【问题描述】:

我有一个面板,它使用 GridbagLayout 显示来放置 3 个对象:按钮、组合框和 scrollPane。我希望按钮和组合框位于同一行(第 0 行)并占据整行。这就是我将它们放置在面板中的方式:

GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.BOTH;
gc.insets.set(10, 0, 10, 10);
add(comboBox, gc);
gc.gridx = 1;
gc.weightx = 1;
gc.insets.set(10, 0, 10, 0);
add(okButton, gc);

现在我希望滚动窗格占据整个底行(第 1 行)。这就是我所做的:

gc.gridx = 0;
gc.gridy = 1;
gc.weighty = 1;
//gc.insets.set(0, 0, 0, 0);
add(scrollPane, gc);

但是这只会使滚动窗格占据底行的第一列,因此它始终与组合框对齐。我如何使它占据整个底行而不仅仅是第一列?如果有帮助,愿意尝试不同的布局。我的想法是创建一个仅包含 scrollPane 的新面板并将其添加到当前面板,但如果有替代方法,我宁愿不这样做

这是当前面板

【问题讨论】:

    标签: java swing combobox jpanel jscrollpane


    【解决方案1】:

    您需要设置gridwidth= 2 才能有效地设置描述的列跨度。

    【讨论】:

      猜你喜欢
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多