JAVA-GridLayout和JScrollPane行为异常

JAVA-GridLayout和JScrollPane行为异常,java,swing,jscrollpane,Java,Swing,Jscrollpane,我在Java中的GridLayout与我预期的完全不同 我希望在一个JScrollPane中有多个框(如下面的屏幕截图所示) 但是当我必须减少输入(例如2)时,框的高度是100%的高度 有人能告诉我我的代码错了什么吗 ResultSet result=MysqlDataReader.ReadFromDataBase(“DUMMY”,connectionStrato); innerPanel.removeAll(); setLayout(新的GridLayout(Integer.parseIn

我在Java中的GridLayout与我预期的完全不同

我希望在一个JScrollPane中有多个框(如下面的屏幕截图所示)

但是当我必须减少输入(例如2)时,框的高度是100%的高度

有人能告诉我我的代码错了什么吗

ResultSet result=MysqlDataReader.ReadFromDataBase(“DUMMY”,connectionStrato);
innerPanel.removeAll();
setLayout(新的GridLayout(Integer.parseInt(Math.round(result.getRow()/3)+“”),6,2,2));
while(result.next()){
网址;
图像;
试一试{
url=新url(“伪”+结果.getString(1)+“.jpg”);
image=ImageIO.read(url.openStream());
}捕获(格式错误的URLException ex){
url=新url(“虚拟”);
image=ImageIO.read(url.openStream());
Logger.getLogger(ItemforList.class.getName()).log(Level.SEVERE,null,ex);
}捕获(IOEX异常){
url=新url(“虚拟”);
image=ImageIO.read(url.openStream());
Logger.getLogger(ItemforList.class.getName()).log(Level.SEVERE,null,ex);
}
ItemforList item=newitemforlist(“DUMMY”+result.getString(1)+“.jpg”,result.getString(1)+”);
innerPanel.add(项目)
}
scrollPaneL.setViewportView(内部面板);
Component[]components=innerPanel.getComponents();
用于(组件:组件){
if(component.getClass().equals(ItemforList.class)){
ItemforList item=(ItemforList)组件;
系统输出打印(“测试”);
item.SetResizedIcon();
}
}

您没有发布任何代码,因此我无法对此发表评论或直接修复


但要回答您的问题,解决问题的方法是用虚拟组件填充额外的网格框-这只是为了占用空间

如果您对代码有疑问,请发布一个,而不是代码的图片。抱歉。已更改。