在我的 swing 应用程序中,我将 Vector
设置为 JList 的数据。 JList 可调整大小(垂直和水平)。可查看的项目数为 8。当向 JList 设置的数据超过 8 项时,Scroller 不可见,要查看其余项目,应下拉 JList。有什么方法可以得到这个 JScroller 吗?
我使用 Netbeans IDE 7.2 我检查了 JScrollerPane 的属性。它具有水平和垂直滚动条的默认值。
这是 NetBeans 创建的 JScrollPane 和 JList 代码。
JScrollPane
jScrollPane1 = new javax.swing.JScrollPane();
这是 JList
jList1 = new javax.swing.JList();
jList1.setBackground(new java.awt.Color(##, ##, ##));
jList1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(##, ##, ##), 1, true));
jList1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jList1.setForeground(new java.awt.Color(##, ##, ##));
jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jList1.setCellRenderer(new CellRendererManager());
jList1.setMaximumSize(new java.awt.Dimension(30, 80));
jList1.setMinimumSize(new java.awt.Dimension(30, 80));
jList1.setPreferredSize(new java.awt.Dimension(30, 80));
jList1.setValueIsAdjusting(true);
jScrollPane1.setViewportView(jList1);
`
最佳答案
您声明:
JScrollPane lays on FreeDesign layout which shows in NetBeans IDE. JScrollPane has not been set any size.But the JList has set a dimension(30,80)
这就是你的问题——你正在设置 JList 的维度,这会阻止它的 View 扩展,即使它是由 JScrollPane 保存的。
解决方案:不要这样做。阅读并使用各种布局管理器,以便它们和组件固有的首选大小为您完成所有大小调整和繁重的工作。
关于java - JList 没有滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12437971/