【发布时间】:2014-05-27 05:44:49
【问题描述】:
所以我编写了一个小测试程序,以便从我的世界和 runescape 等游戏中复制库存。基本上是一个框架,里面有另一个框架,里面有你的物品图片,还有一个滚动条可以向下滚动你库存中的所有东西。我将在我的库存中拥有的“东西”将是稍后添加的具有自己功能的按钮,因此您可以垂直滚动并查看所有“东西”。现在我添加了一些测试按钮来消除错误。基本上我希望按钮为 100,100,并且它们位于 4 行中,然后进入下一列。我虽然 GridLayout 将是最好的选择,但它似乎在添加到滚动窗格后添加了更多行。好吧,这里的代码略过:
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);
}
}
【问题讨论】:
-
库存最好用
JList表示。
标签: java swing layout jpanel grid-layout