首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridBagLayout行权

GridBagLayout行权
EN

Stack Overflow用户
提问于 2013-08-05 09:09:18
回答 1查看 1.4K关注 0票数 3

我用从数据库读取的动态内容填充GridBagLayout JPanel。我的问题是,我能否找到一种将最后一个rowWeights设置为1.0的方法。通常,当我创建静态GridBagLayout面板时,我可以这样做:

代码语言:javascript
复制
    GridBagLayout gbl_accPanel = new GridBagLayout();
    gbl_accPanel.columnWeights = new double[]{1.0};
    gbl_accPanel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 1.0};
    accPanel.setLayout(gbl_accPanel);

但是现在,在我的例子中,我不知道我会有多少行,所以我需要一种将所有内容推到顶部的方法,这意味着使最后一行的权重1.0来填充我的容器的其余部分。

显然,我可以对添加的元素进行计数,而不是设置rowWeights,而不是重新验证();重新绘制();但我不喜欢这种方法。有什么更好的办法吗?

这是一张图片,如果我的问题不清楚:

我现在做的是:

代码语言:javascript
复制
public void setAccountRowWeights(int n)
{
    weights = new double[n];
    for(int i=0; i<n-1; ++i)
        weights[i] = 0.0;
    weights[n-1] = 1.0;
    gbl_accPanel.rowWeights = weights;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 10:06:30

如果不需要GridBagLayout的任何其他特殊特性,则可以使用BorderLayout,其中"north“部分是一个嵌入的GridLayout,具有未指定的行数(即”行“参数为0)。

代码语言:javascript
复制
public class LayoutTest implements Runnable {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new LayoutTest());
    }

    @Override
    public void run() {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLayout(new BorderLayout());

        JPanel north = new JPanel(new GridLayout(0, 1));
        for (int i = 0; i < 5; ++i) {
            JPanel p = new JPanel();
            p.setPreferredSize(new Dimension(0, 25));
            p.setBorder(new LineBorder(Color.BLACK, 1));
            p.setBackground(Color.WHITE);
            north.add(p);
        }
        f.add(north, BorderLayout.NORTH);

        JPanel center = new JPanel();
        center.setBackground(Color.RED);
        f.add(center, BorderLayout.CENTER);

        f.setSize(400, 400);
        f.setVisible(true);
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18054357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档