我尝试将书名添加到netbeans中的滚动窗格,但是当我运行代码时没有添加标签请帮助我。我手动将标签添加到我创建并插入滚动窗格的面板
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);
}
}
答案 0 :(得分:0)
但运行代码时没有添加标签
默认情况下,Swing组件的大小为(0,0),因此无需绘制任何内容。
因此,您需要在完成向面板添加组件后调用布局管理器。
所以代码的基本结构是:
while (rs.next())
{
panel.add(...);
}
panel.revalidate(); // invokes the layout manager
panel.repaint(); // makes sure the panel is repainted
编辑:
布局已设置为组布局.....
好吧,如果要使用GroupLayout,则需要指定所有类型的约束。阅读How to Use GroupLayout上Swing教程中的部分,了解更多信息和工作示例。我建议你不要使用GroupLayout。
在我看来,你只需要显示一列图标。我会考虑使用JList。本教程还有一个关于How to Use LIsts
的部分。