好的,所以我通过在具有自定义单元格渲染器的 JList 中使用 HTML 标记和标记来尝试 JLabels 的换行策略( JLabel中的 Newline<br>
) ,但是在中断之后文本被切断。我不知道如何解决这个问题。
private static class RanksListCellRenderer extends JPanel implements ListCellRenderer<Rank> {
private JLabel text = new JLabel();
public RanksListCellRenderer() {
super(new FlowLayout(FlowLayout.LEFT));
setOpaque(false);
add(text);
}
@Override
public Component getListCellRendererComponent(JList<? extends Rank> list,
Rank value, int index, boolean isSelected, boolean cellHasFocus) {
if (!isSelected) {
text.setText(value.getRankName());
} else {
text.setText("<html>" + value.getRankName() + "<br> Rank Data:</html>");
}
return this;
}
}