我有一個存儲數據庫查詢結果的JTable,到目前爲止非常好。我想要的是每個表中的最後一列都有一個可單擊的JButton,它將打開該行中表示的對象的編輯屏幕,這意味着該按鈕需要知道表中第一列的細節自己的行(數據庫中的ID)。是否有可能將JButton包含在JTable中?
有什麼建議嗎?我已經嘗試過添加JButton,但是當我嘗試運行它時,它們變成了Text。
我有一個存儲數據庫查詢結果的JTable,到目前爲止非常好。我想要的是每個表中的最後一列都有一個可單擊的JButton,它將打開該行中表示的對象的編輯屏幕,這意味着該按鈕需要知道表中第一列的細節自己的行(數據庫中的ID)。是否有可能將JButton包含在JTable中?
有什麼建議嗎?我已經嘗試過添加JButton,但是當我嘗試運行它時,它們變成了Text。
與上面的教程相反,沒有複雜的定位數學運算,自定義鼠標偵聽器和自定義表模型,可以這樣做。相反,它可以用以下這裏所描述的模式單一的簡單的自定義類完成:
看看Sun對JTable
組件的介紹,特別是關於Editors and Renderers的部分。它討論了使用替代CellRenderers
和CellEditors
。你需要做的是創建(或借用)ButtonCellRenderer
和ButtonCellEditor
,然後將它們應用於JTable
中的問題列。在鏈接文章中找到的例子應該會給你所需要的所有信息。
您也可以找到我的一個類似主題的教程(在這種情況下,使用一個JPanel)有幫助,以及: Custom JPanel cell with JButtons in JTable
除了讓鼠標點擊轉發到ButtonCellRenderer的按鈕外很容易。 – 2010-02-09 19:40:38
渲染器不接受事件。這是編輯的工作。在我給出的答案中看看我的教程。 – pek 2011-09-08 18:38:46