gpt4 book ai didi

java - 如何手动添加 jlabels 到滚动 Pane ?

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:01 25 4
gpt4 key购买 nike

我尝试将书名添加到 netbeans 中的滚动 Pane ,但运行代码时没有添加标签,请帮助我。我将标签手动添加到我创建并插入滚动 Pane 的面板中

public void displayBooks(){
try{
java.sql.Connection con = Connectivity.mysql();
int totalRows,i=1;
ResultSet rs;
Statement st = con.createStatement();
String qy = "select title from Book order by title;";
rs = st.executeQuery(qy);
//Reader rm = rs.getCharacterStream();
rs.last();
totalRows = rs.getRow();
rs.beforeFirst();
Object[] obj = new Object[totalRows+1];
labels = new JLabel[totalRows+1];
obj[0] = "";


ImageIcon icon = new ImageIcon("/root/Pictures/picjpeg");


while(rs.next()){
System.out.print(rs.getString(1));
obj[i] = rs.getString(1);
labels[i] = new javax.swing.JLabel(rs.getString(1));
});

jPanel3.add(labels[i]);
i++;
}
//pack();
jComboBox1 = new JComboBox(obj);
}
catch(Exception e){
out.println(e);
}
}

最佳答案

but no label is added when i run the code

默认情况下,Swing 组件的大小为 (0, 0),因此无需绘制任何内容。

因此,您需要在向面板添加组件后调用布局管理器。

所以代码的基本结构是:

while (rs.next())
{
panel.add(...);
}

panel.revalidate(); // invokes the layout manager
panel.repaint(); // makes sure the panel is repainted

编辑:

layout is already set to group layout.....

嗯,如果你想使用GroupLayout,你需要指定各种约束。阅读 Swing 教程中关于 How to Use GroupLayout 的部分了解更多信息和工作示例。我建议您不要使用 GroupLayout。

在我看来,您只是显示了一列图标。我会考虑使用 JList 来实现这一点。本教程还有一个关于如何使用 LIsts 的部分。

关于java - 如何手动添加 jlabels 到滚动 Pane ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com