我尝试将书名添加到 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/