Java 获取JTable的JScrollPane

Java 获取JTable的JScrollPane,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,我有一个JTable对象。如何获取JTable所在的JScrollPane的引用 我尝试了getParent(),但它返回null 编辑: 我的错 正如其中一条评论中提到的,我正在尝试创建一个自定义JTable,默认情况下它有一个行标题,而不必手动添加它。问题是添加需要调用的行标题scrollPane.setRowHeaderView(行标题)。问题是我在构造函数中调用了getParent(),因为表实际上有一个父级,在jScrollPane1.setViewportView(jTable1)之

我有一个JTable对象。如何获取JTable所在的JScrollPane的引用

我尝试了getParent(),但它返回
null

编辑:

我的错

正如其中一条评论中提到的,我正在尝试创建一个自定义JTable,默认情况下它有一个行标题,而不必手动添加它。问题是添加需要调用的行标题
scrollPane.setRowHeaderView(行标题)。问题是我在构造函数中调用了
getParent()
,因为表实际上有一个父级,在
jScrollPane1.setViewportView(jTable1)之前已被调用


因此,这不能一步解决,只能在事后解决。

我认为这就是您需要的:

JScrollPane scrollPane = (JScrollPane)SwingUtilities.getAncestorOfClass(JScrollPane.class, myTable);

您可以找到有关此方法的更多信息。

我认为JTable不包含JScrollPane(除非您专门将其放置在JScrollPane中,但您可以通过另一种方式访问它),您能告诉我您希望如何使用此JScrollPane吗?@Duckdoom5我想创建带有行标题的自定义JTable。要设置行标题,需要调用
scrollPane.setRowHeaderView(行标题)编辑后。。。你的问题是什么?没有,因为我看不到一种方法可以按照我希望的方式完成。我忘记将它转换为JScrollPane,因为该方法返回一个容器。现在可以了。问题是滚动窗格不是表的父级或父级<代码>jScrollPane1.setViewportView(jTable1)不影响组件层次结构。@Baldus,我知道我必须强制转换它,但仍然不起作用,因为JTable不是在JSCRollpane中创建的。我不知道您是如何尝试的,但它对我有效。
jTable1=new JTable()
jScrollPane1.setViewportView(jTable1)