【发布时间】:2013-11-06 18:20:48
【问题描述】:
我想指定我的 JList 的固定宽度
我遵循Gilbert Le Blanc 22k提供的示例
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS));
Panel panel = new JPanel();
panel.setBackground(Color.WHITE);
getContentPane().add(panel);
String [] queries = {"a", "b", "a", "b" , "a", "b", "a", "b"};
panel.setLayout(new BorderLayout());
JList list = new JList(queries);
list.setMaximumSize(new Dimension(200, 200)); // this line does not do the job
list.setMinimumSize (new Dimension (200,200));
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setVisibleRowCount(5);
JScrollPane scrollPane_1 = new JScrollPane(list);
panel.add(scrollPane_1 , BorderLayout.CENTER);
但这并不强制大小为200 200。我需要JScrollPane 的宽度为 200
【问题讨论】:
-
请问我想指定 JList 的大小、JList 的大小或可见项的数量或 ??? .....
-
大约是 JScrollPane 的宽度
-
我需要 JScrollPane 的宽度为 200 - 为什么?固定像素大小总是(最多为第三个近似值左右;-) 表明您的方法/要求有问题。无论如何,don't use setXXSize, everstackoverflow.com/a/7229519/203657
-
您可以提供一个原型值,
JList将使用它来确定它的首选宽度和行高,而无需处理整个列表模型
标签: java swing layout-manager jlist preferredsize