簡體   English   中英

如何使用TableModel在JTable中呈現組件?

[英]How to render a Component in JTable using TableModel?

我已經使用AbstractTableModel成功顯示了JTable ,但是我想為最后一列的每一行添加刪除按鈕,在返回ObjectgetValueAt方法中,我無法返回JButtonJLabel或任何可單擊的JComponent 我嘗試過,但只得到對象描述toString

是否有另一種解決方案可以在不使用TableModel方法的情況下在JTable呈現JComponent

是否有另一種解決方案可以在不使用TableModel方法的情況下在JTable中呈現JComponent?

TableModel用於保存模型數據的數據。

JTable實現每個列的數據視圖。 渲染器只是數據的圖片。 您可以輕松地將數據呈現為按鈕狀,但是呈現器不響應任何事件。

JTable確實支持編輯器,這就是您與實際組件進行交互的方式。 當您編輯普通單元格時,會將JTextField放置在單元格位置中,以便您可以在單元格中鍵入數據,然后將數據保存到模型中。

因此,如果要單擊按鈕,則需要使用按鈕作為編輯器。

查看“ 表列按鈕 ”中使用JButton作為呈現器和編輯器的類。 然后,向該類提供一個單擊按鈕時要調用的Action

閱讀Swing教程中有關“ 概念:渲染器和編輯器”的部分,以獲取更多信息。 還有關於Using Other Editors的部分。

一種方法:將TableColumn.setCellEditor(jbutton_instance)添加到手工添加的列上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM