首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要布局吗?它应该如何使用?

需要布局吗?它应该如何使用?
EN

Stack Overflow用户
提问于 2014-04-13 07:50:57
回答 1查看 53关注 0票数 0

因此,我编写了一个小的测试程序,以有趣地复制一个清单,从游戏,如我的世界和RuneS景。基本上是一个框架,里面有一个框架,里面有你物品的图片,还有一个滚动条,用来向下滚动你库存中的所有东西。我的库存中的“东西”将是稍后添加的带有自己功能的按钮,这样您就可以垂直滚动并查看所有的“东西”。现在,我已经添加了一些测试按钮来排除错误。基本上,我希望按钮是100,100,并将它们排在4行,然后转到下一列。我认为GridLayout是最好的选择,但是在添加到滚动窗格之后,它似乎添加了更多的行。好的,下面的代码跳下来了:

代码语言:javascript
复制
public class inventory extends JFrame{

public static void main(String[] args){
    new inventory();
}

JPanel mainInv = new JPanel();
JScrollPane sp;

public inventory(){
    setSize(500,500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Toolkit tk = this.getToolkit();
    setLocation(tk.getScreenSize().width/2-getWidth()/2, tk.getScreenSize().height/2-getHeight()/2);
    setLayout(null);

    mainInv.setSize(getWidth()-10, 1000);
    mainInv.setBackground(Color.blue);
    mainInv.setLayout(new GridLayout(8,4));

    sp = new JScrollPane(mainInv,         JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    sp.setMaximumSize(new Dimension(400,400));
    sp.setBounds(5, 5, 500-10, 500-130);

    JButton[] testButs = new JButton[100];
    for(int i = 0; i < 50; i++){
        testButs[i] = new JButton("Test Button " + i);
        testButs[i].setSize(100,100);
        mainInv.add(testButs[i]);
    }   

    add(sp);

    setVisible(true);
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-13 08:08:35

对于GridLayout,行数是主要因素。

如果您有8行和4列只能容纳48个按钮,如果您尝试添加一个49按钮,它将创建第5列,而不是第9行。

您可以通过设置更多行的GridLayout来解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23040212

复制
相关文章

相似问题

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