【问题标题】:JAVA - GridLayout and JScrollPane behave unexpectedJAVA - GridLayout 和 JScrollPane 行为异常
【发布时间】:2019-11-20 21:05:30
【问题描述】:

我在 Java 中的 GridLayout 的行为与我预期的不同。

我想在 JScrollPane 中有多个 Box(如下面的屏幕截图所示)。

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

有人能告诉我我的代码有什么问题吗?

    ResultSet result = MysqlDataReader.ReadFromDataBase("DUMMY",connectionStrato);
    innerPanel.removeAll();
    innerPanel.setLayout(new GridLayout(Integer.parseInt(Math.round(result.getRow() / 3) + ""), 6, 2, 2));

    while(result.next()){
        URL url;
        Image image;
        try{
            url = new URL("DUMMY" + result.getString(1) + ".jpg");
            image = ImageIO.read(url.openStream());
        } catch (MalformatedURLException ex) {
            url = new URL("DUMMY");
            image = ImageIO.read(url.openStream());
            Logger.getLogger(ItemforList.class.getName()).log(Level.SEVERE, null, ex);
        } catch(IOException ex){
            url = new URL("DUMMY);
            image = ImageIO.read(url.openStream());
            Logger.getLogger(ItemforList.class.getName()).log(Level.SEVERE, null, ex);
        }
        ItemforList item = new ItemforList("DUMMY"+result.getString(1)+".jpg", result.getString(1)+"");
        innerPanel.add(item)

    }
    scrollPaneL.setViewportView(innerPanel);
    Component[] components = innerPanel.getComponents();
    for (Component component : components){
        if(component.getClass().equals(ItemforList.class)){
            ItemforList item = (ItemforList) component;
            System.out.printLn("TEST");
            item.SetResizedIcon();
        }
    }

【问题讨论】:

标签: java swing jscrollpane


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多