1

在我的 Swing 应用程序中,我将 aVector作为数据设置为 JList。JList 可调整大小(垂直和水平)。可查看项数为 8。当 JList 中设置的数据超过 8 项时,Scroller 不可见,要查看其余项,应将 JList 下拉。有没有办法得到这个 JScroller ?

我使用 Netbeans IDE 7.2 我检查了 JScrollerPane 的属性。它具有default水平和垂直滚动条的值。

这是 NetBeans 创建的 JScrollPane 和 JList 代码。
滚动窗格
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);

`

4

1 回答 1

2

你说:

JScrollPane 位于 NetBeans IDE 中显示的 FreeDesign 布局上。JScrollPane 尚未设置任何大小。但 JList 已设置维度(30,80)

这是您的问题——您正在设置 JList 的 Dimension 以防止其视图扩展,即使它由 JScrollPane 持有。

解决方案:不要这样做。阅读并使用各种布局管理器,以便它们和您组件的固有首选尺寸为您完成所有尺寸调整和繁重工作。

于 2012-09-15T14:22:47.557 回答