Java Jlist文本中心对齐

时间:2014-01-09 19:43:32

标签: java swing alignment jlist

我在面板上有一个JList

如何居中对齐 JList中的文字? 我似乎无法在模型的任何地方找到设置?

我已经在GUI上查找了对齐设置,但似乎无法找到它。

3 个答案:

答案 0 :(得分:9)

这与模型无关,因为它涉及视图,ListCellRenderer是特定的。一个解决方案获取渲染器并将其horizo​​ntalAlignment设置为SwingConstants.CENTER。假设您没有使用自定义单元格渲染器,例如可以:

DefaultListCellRenderer renderer = (DefaultListCellRenderer) myJList.getCellRenderer();
renderer.setHorizontalAlignment(SwingConstants.CENTER);

答案 1 :(得分:5)

尝试以下方法:

JList list = new JList(args);
DefaultListCellRenderer renderer =  (DefaultListCellRenderer)list.getCellRenderer();  
renderer.setHorizontalAlignment(JLabel.CENTER);  

答案 2 :(得分:0)

所有答案似乎都过时了,或者至少它们对我不起作用,我是这样解决的:

 list.setCellRenderer((list, project, index, isSelected, cellHasFocus) -> {
            JLabel label = new JLabel(value.getName())
            label.setHorizontalAlignment(JLabel.CENTER);
            return label;
        });