2013-05-01 44 views
0

如何在JLabel中添加多個字符串而無需使用mouseListener創建新對象,並且希望它在塊中顯示Strinsg列表,但它總是以內聯方式顯示。如何在不創建新對象的情況下將多個字符串添加到JLabel中

我的問題是每次我有一個字符串我需要創建一個JLabel的新對象? 順便說一句我有一個很多名稱的數據庫,並創建了很多JLabel將很難。

這裏是圖像 Click HERE

這裏是我當前的代碼以對象 我有獲取名稱的字符串,然後添加到JPanel的數據庫。

x = new JLabel("name1"); 
     x1 = new JLabel("name2"); 
    x.setFont(new Font("calibri",Font.BOLD,20)); 
    x.addMouseListener(new MouseListener(){ 

     @Override 
     public void mouseClicked(MouseEvent arg0) {   
     } 

     @Override 
     public void mouseEntered(MouseEvent arg0) { 
      x.setForeground(Color.blue); 
     } 

     @Override 
     public void mouseExited(MouseEvent arg0) { 
      x.setForeground(Color.BLACK); 

     } 

     @Override 
     public void mousePressed(MouseEvent arg0) { 
      x.setForeground(Color.RED);    
     } 

     @Override 
     public void mouseReleased(MouseEvent a) { 
      x.setForeground(Color.blue); 

     }}); 
    add(x); 
    add(x1); 
+0

看看JList,或者將JLabel設置爲html,並追加
+你的新名字 – Randy 2013-05-01 20:06:20

+0

你可以先得到所有的名字,然後用linebreak將它們連接,設置爲一個jlabel? – Kent 2013-05-01 20:06:57

+0

但是當我用鼠標點擊器點擊它們時,我應該得到一個不同的名字。 – 2013-05-01 20:11:18

回答

3

這聽起來像是你在尋找更好的控制。那麼JList呢?

http://docs.oracle.com/javase/tutorial/uiswing/components/list.html

+0

我現在在使用JList當我可以禁用藍色框時點擊了字符串列表? – 2013-05-01 20:32:00

+1

設置一個忽略選擇的ListCellRenderer。但是,這似乎是一個壞主意。用戶會期望**對所選列表項目進行更改。 – 2013-05-02 04:17:00

1

您可以使用HTML裏面搖擺按鈕,菜單按鈕,標籤等格式只是當你設置文本使用的HTML標籤。

+0

請參閱[本示例](例如)(http://stackoverflow.com/questions/7861724/is-there-some-word-wrap-property-of-jlabel-exist/7861833#7861833)。 – 2013-05-02 04:15:56

相關問題