该列表已经包含在滚动窗格中,因此您不能将列表添加到主面板。仅滚动窗格。
您做错的另一件事是不使用布局管理器,而是设置组件的边界和大小。不要那样做
让布局管理器为您定位和调整组件的大小。
最后,您不应该使用主线程中的Swing组件。仅在事件调度线程中。
这是您的代码的修改后的版本,可以正常工作。我删除了背景色,因为这应该由L&F处理:
public class Checkboxlistener extends Jframe { private JPanel jpAcc = new JPanel(); private JList<String> checkBoxesJList; Checkboxlistener() { jpAcc.setLayout(new BorderLayout()); String labels[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" }; checkBoxesJList = new JList<String>(labels); checkBoxesJList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JScrollPane scrollPane = new JScrollPane(checkBoxesJList); jpAcc.add(scrollPane); getContentPane().add(jpAcc); pack(); } public static void main(String args[]) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { Checkboxlistener cbl = new Checkboxlistener(); cbl.setVisible(true); } }); }}


