[英]how to manually add a jlabels to a scrollpane?
我嘗試將書名添加到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);
}
}
但我運行代碼時未添加標簽
默認情況下,Swing組件的大小為(0,0),因此無需繪制任何內容。
因此,在將組件添加到面板中之后,需要調用布局管理器。
因此,代碼的基本結構為:
while (rs.next())
{
panel.add(...);
}
panel.revalidate(); // invokes the layout manager
panel.repaint(); // makes sure the panel is repainted
編輯:
版式已設置為組版式.....
好吧,如果要使用GroupLayout,則需要指定各種約束。 閱讀Swing教程中有關如何使用GroupLayout的部分, 以獲取更多信息和工作示例。 我建議您不要使用GroupLayout。
在我看來,您只是顯示一列圖標。 我將為此使用JList。 本教程還包含有關How to Use LIsts
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.