检索表组合框中 ItemEvent 的 CellRow
使用包含带有组合框的列的 JTable 时,可能需要获取触发 ItemEvent 的 ComboBox 行。但是,ItemListener 缺少执行此操作的方法。
如何确定 CellRow
要检索所需的行,请考虑以下选项:
使用 TableCellEditor
在“使用组合框作为编辑器”,TableCellEditor 的 getTableCellEditorComponent() 方法包含行作为参数。此方法可用于访问行。
同步依赖列
利用 getValueAt() 方法
通过重写模型的 getValueAt() 方法,您可以在 ComboBox 列和同一行中的其他列。修改后的代码:
import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.IOException; import javax.swing.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; public class DependentColumn extends JFrame { private static final int DEPENDENT_COL = 1; private static final int ITEM_COL = 2; private static final String[] columnNames = {"Col 1", "Col 2", "Col 3"}; public static void main(String args[]) throws IOException { EventQueue.invokeLater(new Runnable() { @Override public void run() { DependentColumn dc = new DependentColumn(); } }); } public DependentColumn() {
以上是如何检索触发 ItemEvent 的表组合框的行索引?的详细内容。更多信息请关注PHP中文网其他相关文章!