Component (JList<? extends Item> list, Item value, int index, boolean isSelected, boolean cellHasFocus) { if (value == mySeparator) { JPanel pane = new JPanel(new GridBagLayout()); pane.setOpaque(false); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridwidth = GridBagConstraints.REMAINDER; gbc.weightx = 1; gbc.fill = GridBagConstraints.HORIZONTAL; pane.add(new JSeparator(), gbc); return pane; } else if (value != null && value.myOptionName != null){ myCheckBox.setOpaque(false); myCheckBox.setText(value.myOptionName); myCheckBox.setSelected(value.myOptionValue); return myCheckBox; } return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); }