如何在 JList
项之间添加空格?有办法做到吗?
在此图像上,白色是背景,黄色是 JList
的自定义 DefaultListCellRenderer
,我希望每个 JList
项都有一个彼此间隔 5 个像素。
http://img819.imageshack.us/img819/5772/spacemd.png
dlm = new DefaultListModel<String>();
jlist = new JList<String>(dlm);
jlist.setFont(new Font("Calibri",Font.BOLD,16));
jlist.setCellRenderer(new Renderer());
jlist.setFixedCellWidth(100);
jlist.setBorder(new EmptyBorder(10,10, 10, 10));
最佳答案
我没有看到您的渲染器,但您可以将该组件添加到面板中。这个依赖于默认 FlowLayout
的默认 5 像素间隙,但您也可以向面板添加边框。
list.setCellRenderer(new DefaultListCellRenderer(){
private static final int N = 2;
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
Component c = super.getListCellRendererComponent(
list, value, index, isSelected, cellHasFocus);
c.setBackground(Color.yellow);
JPanel p = new JPanel();
p.add(c);
return p;
}
});
关于java - 在 JList 项目之间添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16581392/