将滚动条添加到JList

Taj*_*ton 6 scrollbar jlist

我正在尝试将滚动条添加到JList(使用自定义数据模型).添加JScrollPane实际上隐藏了JList,而不是添加滚动条.当我使用滚动条运行代码时,JList不可见,我看不到数据.

playlistField = new JList(playlist); // playlist is a data model
playlistField.setLocation(32, 220-36);
playlistField.setSize(350,120);
playlistField.setVisible(true);
this.add(playlistField);

listScrollPane = new JScrollPane(playlistField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
Run Code Online (Sandbox Code Playgroud)

注释掉listScrollPane = ...行会使JList再次可见,并且按预期工作.

我错过了什么?

小智 6

您需要将滚动窗格添加到容器,而不是列表.

在当前示例中,通过在滚动窗格中添加列表,它会从原始容器中删除列表,因为组件只能有一个父项.