我不知道为什么会这样,我几乎已经检查了所有与此有关的Stack Overflow问题。
错误是,当我在JScrollPane中添加JList时,什么都没有显示。即使将其添加到框架中。

JList mainlist = new JList();
JScrollPane listScroller = new JScrollPane(mainlist);
listScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
listScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

mainlist.setToolTipText("List of People");
mainlist.setFont(new Font("Consolas", Font.BOLD, 13));
int pos = mainlist.getModel().getSize();
DefaultListCellRenderer renderer =  (DefaultListCellRenderer)mainlist.getCellRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
mainlist.setModel(model);
mainlist.setForeground(Color.GREEN);
mainlist.setBackground(new Color(44, 47, 51));
mainlist.setBounds(10, 108, 780, 248);
mainlist.setFixedCellHeight(20);
mainlist.setFixedCellWidth(30);
mainlist.setBorder(new EmptyBorder(10,10, 10, 10));
frm.getContentPane().add(listScroller);

最佳答案

您应该对您的scrollPane而不是您的列表应用范围

listScroller.setBounds(10, 108, 780, 248);


另外,请确保您的内容窗格具有null布局以使setBounds()正常工作,或者仅使用边框布局并将preferred&maximum Size()设置为适合您的

10-04 11:22