2013-05-15 94 views
0

當雙擊單元格JList時,如何更改顏色? 有沒有辦法在DefaultListCellRenderer內添加MouseListener在getListCellRendererComponent中雙擊時更改顏色

public class Renderer extends DefaultListCellRenderer{ 

@Override 
    public Component getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) 
    { 
     Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
     if(isSelected){ 
      c.setBackground(Color.ORANGE); 
      c.setForeground(Color.BLACK); 
     } 
     return c; 
    } 
} 

回答

2

我最近有類似的情況,我想雙擊表條目並將它們添加到列表中。技巧是:

  • 在表中添加一個布爾值來表示'已添加到列表'。
  • 雙擊(將列添加到列表&)將該值設置爲true。
  • 渲染時,檢查布爾值並決定如何渲染它。