JScrollPane没有添加到我的JList中。

问题描述:

我试图添加一个滚动条到我的JList。我一次只需要在我的JList上使用4个标题。当我添加一个JList并运行我的程序时,JList从屏幕上消失。有人可以帮我解决这个问题吗?我正在使用Java Eclipse。JScrollPane没有添加到我的JList中。

这是我的代码:

songList1 = new JList (ListData); 
songList1.setVisibleRowCount(4); 
songList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
songList1.setBounds(300,100,100,200); 
panel.add(new JScrollPane(songList1); 
+0

你在哪里创建'ListModel'?你确定是正确的吗?另外,你为什么要在JList上设置边界?应该在顶层组件(在你的情况下是JScrollPane),但更好的是使用布局。 – Noe 2013-05-11 19:40:37

+0

是的,它是正确的,它工作,如果我删除JScrollPane。否则它没有。 – George 2013-05-11 19:42:51

+0

不要在列表上设置边界并尝试查看它是否有效。 – Noe 2013-05-11 19:43:32

你可以尝试以下之一:

  1. 集面板的布局或
  2. 集滚动窗格由scrollPane.setBounds()
  3. 边界区域
+0

对于点1为-1,对于点2为-1。净结果为0. – 2013-05-12 05:30:16

只是疏忽:

songList1 = new JList(ListData); 
songList1.setVisibleRowCount(4); 
songList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
JScrollPane songList1ScrollPane = new JScrollPane(songList1) 
//songList1ScrollPane.setBounds(300, 100, 100, 200); 
songList1ScrollPane.setBounds(10, 10, 100, 200); 
panel.setLayout(null); // Absolute positioning 
panel.add(songList1ScrollPane); 
... 
add(panel); // Or so 

当然,面板应该有一个适当的布局。

+0

theres没有滚动条出现 – George 2013-05-11 19:58:07

+0

我添加了一点。 – 2013-05-11 20:49:46

+0

'setLayout(null);'你应该更清楚。真的.. – 2013-05-12 05:29:00