JList中加入JCheckBox控件时按住CTRL键时可以多选,但如何实现不用按CTRL键就可多选?谢谢。
import java.awt.Component;import javax.swing.JCheckBox;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
public class JCheckListCellRenderer extends JCheckBox implements ListCellRenderer
{
public JCheckListCellRenderer()
{
super();
this.setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
{
//-----定义TEXT值-----
if(value != null)
{
setText(value.toString());
}
//-----设置选取与取消选取的前景与背景颜色-----
setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
//-----定义字体-----
setFont(list.getFont());
//-----定义选择与否-----
setSelected(isSelected);
return this;
}
}
import java.awt.Component;import javax.swing.JCheckBox;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
public class JCheckListCellRenderer extends JCheckBox implements ListCellRenderer
{
public JCheckListCellRenderer()
{
super();
this.setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
{
//-----定义TEXT值-----
if(value != null)
{
setText(value.toString());
}
//-----设置选取与取消选取的前景与背景颜色-----
setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
//-----定义字体-----
setFont(list.getFont());
//-----定义选择与否-----
setSelected(isSelected);
return this;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货