繁体   English   中英

我们可以将JTable的单元格检索为JComponent吗?

[英]Can we retrieve cell of JTable as a JComponent?

只是想知道我们是否可以将JTable的单元格检索为JComponent并可以计算jtable的每个单元格的面积,以便我可以绑定到用户以单击该特定区域。

首先尝试JTable教程。

JTable使用表单元格渲染器,该渲染器提供了用于渲染表单元格的JComponent。 存在效率优化,因为通常(与DefaultTableCellRenderer一起)重用同一JComponent并使其适合TableModel单元格的内容。

(在渲染器旁边有表格单元格编辑器。)

在您的情况下,您可以简单地重写DefaultTableCellRenderer并执行jtable.setRenderer

我们可以将jtable的单元格检索为JComponent吗?

简而言之,没有。 要绘制JTable,Swing使用了渲染器的概念。 这意味着,我们将不再使用每个单元的活动组件,而是重复使用同一组件来绘制JTable的整个列或几列。 这意味着JTable将使用适当的参数调用渲染器,将其大小和位置设置为相应的单元格,调用paint方法,然后进一步移动组件,直到绘制整个表格。 这意味着JTable中的每个单元格都没有子组件。 这里查看所有详细信息。

现在,如果要绑定鼠标侦听器,则可以直接在JTable上进行操作,并且可以使用getCellRect来确定单击是否在特定单元格内,或者使用columnAtPointrowAtPoint来确定单击了哪个单元格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM