簡體   English   中英

如何手動將jlabels添加到滾動窗格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM