【发布时间】:2013-01-08 22:47:59
【问题描述】:
在下图中,底部的JComponent 是JScrollPane 中的JList(列表)。
默认情况下,可见行数是 8 或 10,我不知道。
但是突然间,当我对项目进行更多更改时,它发生了变化
对此,现在我一次只能看到一个项目(fsgisfg)。
如何更改一次显示的行数?
list.setVisibleRowCount(8) 不起作用。
list 使用AbstractListModel 的扩展作为模型。
主菜单JFrame使用GridBagLayout。
我不知道是什么可能导致这种情况发生,因为我什至试图撤消 在项目中进行的所有更改,结果仍然相同。
private JList<String> list;
[...]
list = new JList<String>();
list.setVisibleRowCount(8); //doesn't change anything
[...]
JScrollPane scroll2 = new JScrollPane(list);
[...]
list.setModel(new BookListModel(library));
list.repaint(); //the model gets the data for the list, and refresh is needed
[...]
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 4;
c.gridwidth = 2;
frame.add(scroll2, c);
【问题讨论】:
-
您应该添加一些代码...
-
这不足以用来推断发生了什么。你真的需要提供一个SSCCE
-
这个想法是我也不知道是什么原因造成的,因为一开始没问题。我无法显示所有代码,因为我不知道问题出在哪里:(。
-
您是否使用任何类型的版本控制?您是否能够将您的代码恢复到可以正常工作的最新版本?对于大型项目,这是一个很好的工具。
-
“我无法显示所有代码,因为我不知道问题出在哪里” 制作SSCCE的过程中往往会显示问题的根源!我投票支持@MadProgrammer 的建议。
标签: java swing jlist gridbaglayout