java,为什么用JScrollPane给JTable添加的滚轮不显示
时间: 2024-03-26 09:39:30 浏览: 10
有可能是因为未正确设置JTable的PreferredScrollableViewportSize属性。JScrollPane需要知道JTable的首选可视区域大小,才能正确地计算滚动条的尺寸。你可以尝试设置JTable的PreferredScrollableViewportSize属性,例如:
```
table.setPreferredScrollableViewportSize(table.getPreferredSize());
```
这将使JTable的首选可视区域大小与其默认的大小相同。如果这样做仍然无法解决问题,你可以尝试强制重绘JScrollPane组件,例如:
```
scrollPane.revalidate();
scrollPane.repaint();
```
这将强制JScrollPane重新计算其组件的布局和绘制。
相关问题
java swing给jtable添加滚动条但是不显示
你可以通过将JTable放置在JScrollPane中,并使用setViewportView()方法将JTable设置为JScrollPane的视口视图来为JTable添加滚动条。以下是示例代码:
```java
JTable table = new JTable(data, columnNames); // data和columnNames是你的数据和列名
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add(scrollPane); // frame是你的窗口容器
```
在上面的代码中,我们将JTable放置在JScrollPane中,然后设置垂直和水平滚动条的显示策略。最后,我们将JScrollPane添加到窗口容器中以显示JTable和滚动条。
JScrollPane添加到JPanel中不显示是为什么
JScrollPane在添加到JPanel中不显示的原因可能是以下几点:
1. 可能是JPanel的布局设置不当,导致JScrollPane无法显示。可以尝试将JPanel的布局设置为BorderLayout,并将JScrollPane添加到JPanel的中心。
2. JPanel内部的内容可能不够多,没有足够的内容需要滚动。您可以尝试添加更多内容来验证。
3. 可能是JScrollPane被其他组件覆盖,导致不可见。您可以通过将JScrollPane移动到最上面或使用其他方法解决此问题。
如果以上建议都无法解决您的问题,请提供更多详细信息,以便我们为您提供更精确的帮助。