Java JScrollPane组件没有';不出现

Java JScrollPane组件没有';不出现,java,swing,jpanel,jscrollpane,jlist,Java,Swing,Jpanel,Jscrollpane,Jlist,我正在尝试将JList添加到我的JPanel中,因为它由以下源代码声明,但它不起作用: public class Game { public static void main(String[] args) throws Exception { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); DefaultListModel<String> defList

我正在尝试将JList添加到我的JPanel中,因为它由以下源代码声明,但它不起作用:

    public class Game {

    public static void main(String[] args) throws Exception {

    UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

    DefaultListModel<String> defListPlayers = new DefaultListModel<String>();
    defListPlayers.addElement("Player 1");
    defListPlayers.addElement("Player 2");

    JList<String> listPlayers = new JList<String>(defListPlayers);
    listPlayers.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    listPlayers.setLayoutOrientation(JList.VERTICAL);
    listPlayers.setVisibleRowCount(10);


    JScrollPane scroller = new JScrollPane(listPlayers);
    scroller.setViewportBorder(new LineBorder(Color.RED));
    scroller.revalidate();

    JPanel panel = new JPanel();
    panel.add(scroller);

    JFrame frame = new JFrame;
    frame.setContentPane(panel);
    frame.pack();
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setVisible(true);
    frame.setResizable(false);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().repaint();

    }
   }
公共类游戏{
公共静态void main(字符串[]args)引发异常{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
DefaultListModel defListPlayers=新的DefaultListModel();
解除列表玩家。添加元素(“玩家1”);
删除玩家。添加元素(“玩家2”);
JList-listPlayers=新JList(defListPlayers);
listPlayers.setSelectionMode(ListSelectionModel.SINGLE\u INTERVAL\u SELECTION);
listPlayers.setLayoutOrientation(JList.VERTICAL);
listPlayers.setVisibleRowCount(10);
JScrollPane scroller=新的JScrollPane(ListPlayer);
scroller.setViewportBorder(新的LineBorder(Color.RED));
scroller.revalidate();
JPanel面板=新的JPanel();
面板。添加(滚动条);
JFrame frame=新JFrame;
frame.setContentPane(面板);
frame.pack();
setExtendedState(JFrame.MAXIMIZED_二者);
frame.setVisible(true);
frame.setresizeable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().repaint();
}
}

你知道为什么和怎么做吗?

使用a你说的“不工作”到底是什么意思?我想我也想删除scroller.setPreferredSize(新维度(10,10))。发布一篇文章以获得更好的帮助sooner@sasuke:如果您发布了您的代码,我们可以用您的代码向您展示一个适当的示例。否则,您的请求就毫无意义,因为它完全取决于代码的上下文。您可以在此网站上搜索许多正确使用滚动窗格的示例,并进行尝试。不过,首先也是最重要的一点是,从代码中删除所有
setBounds(…)
和所有空布局。@HoverCraftFullOfels:谢谢您的回复,我按照说明调整了源代码。我的玩家列表仍然没有出现!使用a你说的“不工作”到底是什么意思?我想我也想删除scroller.setPreferredSize(新维度(10,10))。发布一篇文章以获得更好的帮助sooner@sasuke:如果您发布了您的代码,我们可以用您的代码向您展示一个适当的示例。否则,您的请求就毫无意义,因为它完全取决于代码的上下文。您可以在此网站上搜索许多正确使用滚动窗格的示例,并进行尝试。不过,首先也是最重要的一点是,从代码中删除所有
setBounds(…)
和所有空布局。@HoverCraftFullOfels:谢谢您的回复,我按照说明调整了源代码。我的玩家列表仍然没有出现!