【发布时间】:2014-01-28 13:27:18
【问题描述】:
我在面板上有一个JList。
如何居中对齐JList 中的文本?
我似乎无法在任何地方找到该模型的设置?
我在 GUI 上查找了对齐设置,但似乎找不到。
【问题讨论】:
标签: java swing alignment jlist
我在面板上有一个JList。
如何居中对齐JList 中的文本?
我似乎无法在任何地方找到该模型的设置?
我在 GUI 上查找了对齐设置,但似乎找不到。
【问题讨论】:
标签: java swing alignment jlist
这与模型无关,因为它涉及视图,具体来说是 ListCellRenderer。一种解决方案;获取渲染器并将其水平对齐设置为 SwingConstants.CENTER。假设您没有使用自定义单元格渲染器,例如,您可以这样做:
DefaultListCellRenderer renderer = (DefaultListCellRenderer) myJList.getCellRenderer();
renderer.setHorizontalAlignment(SwingConstants.CENTER);
【讨论】:
尝试以下方法:
JList list = new JList(args);
DefaultListCellRenderer renderer = (DefaultListCellRenderer)list.getCellRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
【讨论】:
所有答案似乎都过时了,或者至少它们对我不起作用,我是这样解决的:
list.setCellRenderer((list, project, index, isSelected, cellHasFocus) -> {
JLabel label = new JLabel(value.getName())
label.setHorizontalAlignment(JLabel.CENTER);
return label;
});
【讨论】: