當前的項目正在進行,我需要將JTable
中某列的所有單元格設置爲JComboBoxes。它們的項目對於所有行都是相同的,並且從SQL Server表中提取。程序運行時,它將使用SQL Server表中的值填充整個JTable
。在這一點上一切正常,但是當用戶單擊列來顯示JComboBox
和項目顯示時,該單元格上的值將被覆蓋JComboBox
。我想要發生的事情是用值打開JComboBox,並向用戶「提示」該單元格中的最後一個值(消失的那個值),然後下拉並選擇所述值。當它被點擊打開一個JComboBox時,JTable單元會丟失值
有沒有辦法輕鬆做到這一點?
這是我如何加入項目的所有JComboBoxes
TableColumn col_cod_tipo_verba = jtab_verba.getColumnModel().getColumn(3); JComboBox box_tab_tipo_verba = new JComboBox(); ResultSet rs = Glob.conecta_sql().prepareStatement("SELECT * FROM tab_tipo_verba").executeQuery(); while (rs.next()) { box_tab_tipo_verba.addItem(rs.getString(1)); } col_cod_tipo_verba.setCellEditor(new DefaultCellEditor(box_tab_tipo_verba));
如果在填充後調用box_tab_tipo_verba.setSelectedItem(theCellVaue)會怎麼樣? – StanislavL
但是我怎麼知道CellValue?我發佈的代碼部分是靜態的,它只是將該列的所有JTable的單元格變成JComboBox。但是你的答案可能會與另一個代碼一起工作。我會嘗試一下,並在一秒內回報 – MVR
我試圖用MouseListener獲取單元格中的值,但沒有奏效。如果我直接單擊JComboBox,Listener不會觸發。我需要另一種獲取單元格數據的方式。 – MVR