如何将图像插入 JTable 单元格
有人可以为我指明如何将图像添加到 Java 表单元格中的正确方向吗?
Can someone point me in the right direction on how to add an image into Java Table cell.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
JTable 已经提供了默认的图标渲染器。您只需告诉表给定列中存储了哪些数据,以便它可以选择适当的呈现器。这是通过重写 getColumnClass(...) 方法来完成的:
JTable already provides a default renderer for icons. You just need to tell the table what data is stored in a given column so it can choose the appropriate renderer. This is done by overriding the getColumnClass(...) method:
要么预先创建图像图标:
或者您可以尝试覆盖图标字段的渲染器:
Either create the imageicon up front:
Or you can try overriding the renderer for your icon field:
1-向jtable添加标签(为此创建类)
2-编写jButton以添加图像
1- add label to jtable ( create class for this)
2- code jButton to add image
我创建了自己的类来实现 TableCellRenderer。我可以从 JLabel 扩展此类,但我更愿意保持它独立并使用 JLabel“标签”作为类组件。
我创建了一个新的 DefaultTableModel 对象。我重写 getColumnClass() 方法以在运行时传递适当的类。
我使用我创建的 DefaultTableModel 创建了 JTable 对象。
我为 GLabel 类设置了默认渲染器,
我创建了新的 GLabel 对象。
最后,我使用TableModel的addRow(Object[] rowData)方法将GLabel添加到JTable中。
I created my own class that implements TableCellRenderer. I can extend this class from JLabel, but I have preferred to keep it independent and used JLabel 'label' as a class component.
I created a new DefaultTableModel object. I overrides getColumnClass() method to pass appropriate Class at runtime.
I created JTable object using DefaultTableModel I created.
I set default renderer for GLabel class
I created new GLabel object.
Finally, I used addRow(Object[] rowData) method of TableModel to add GLabel to the JTable.