gpt4 book ai didi

java - 向 JTable 列添加文本和图标(使用 MouseListener)

转载 作者:行者123 更新时间:2023-11-29 08:19:23 25 4
gpt4 key购买 nike

我想实现以下功能,但我不知道是否可以在 Java 中实现。如果是,那么如何?请帮助:

我想创建一个 JTable 类型的表格,其中表格的 第一行 包含列名称和每列中的图标,即第一行的每个单元格中的图标。单击该图标应该会导致从表中删除该列(可能使用 MouseListener??)。

我找到了很多解决方案,我可以在其中将按钮添加到 JTable 中的单元格,但没有一个解决方案描述了将文本和图标(使用 MouseListener)添加到单元格。请看看您是否可以提供帮助,非常感谢阅读。

最佳答案

您可以创建一个扩展 JLabel 的自定义 TableCellRenderer。此 JLabel 可以用图标创建(JLabel 可以在文本的右侧或左侧显示图标)。您将希望 getTableCellRendererComponent 测试正在呈现的行是否是第一行,如果是,则设置图标,否则不设置。

对于移除 Action ,可以在表格中添加一个MouseListener,在处理mouseClicked方法时,通过测试rowAtPointcolumnAtPoint 通过从 mouseEvent.getX()mouseEvent.getY( )。如果您确定单击了带有图标的第一行,则可以从列模型中删除该列。

如果第一行,您实际上是指表头,您可以为JTableHeader 创建相同的渲染器,并设置MouseListener在该组件上。

关于java - 向 JTable 列添加文本和图标(使用 MouseListener),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com