Java Jlist文本中心对齐

Java Jlist文本中心对齐,java,swing,alignment,jlist,Java,Swing,Alignment,Jlist,我在面板上有一个JList 如何将JList中的文本居中对齐? 我似乎找不到模型的任何设置 我在GUI上查找了对齐设置,但似乎找不到任何设置。这与模型无关,因为它涉及视图,具体来说是ListCellRenderer。一种解决方案;获取渲染器并将其水平对齐设置为SwingConstants.CENTER。假设您不使用自定义单元渲染器,您可以执行以下操作: DefaultListCellRenderer renderer = (DefaultListCellRenderer) myJList.get

我在面板上有一个
JList

如何将
JList
中的文本居中对齐? 我似乎找不到模型的任何设置


我在GUI上查找了对齐设置,但似乎找不到任何设置。

这与模型无关,因为它涉及视图,具体来说是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;
        });

我认为这已经不起作用了=(:
无法转换为类javax.swing.DefaultListCellRenderer