Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可编辑单元和可扩展Jtable实现_Java_Swing_Jtable_Tablecellrenderer_Tablecelleditor - Fatal编程技术网

Java 可编辑单元和可扩展Jtable实现

Java 可编辑单元和可扩展Jtable实现,java,swing,jtable,tablecellrenderer,tablecelleditor,Java,Swing,Jtable,Tablecellrenderer,Tablecelleditor,我有一个带有定制CellRenderer和CellEditor的JTable,表中最初加载了 一个值列表,有12行5列,我在表的顶部有一个JTextField,我在其中应用了KeyListener,并使Textfield像JComboBox一样显示,只要在该字段中键入前3个字符,就会显示一个值列表,例如,键入“met”将显示以“met”开头的所有药物名称,现在我要做的是,我必须在Jtable最后一行的第2列中实现这个文本字段,比如在我上面提到的情况下的第13行。在从显示值列表中选择任何一种药物后

我有一个带有定制CellRenderer和CellEditor的JTable,表中最初加载了
一个值列表,有12行5列,我在表的顶部有一个JTextField,我在其中应用了KeyListener,并使Textfield像JComboBox一样显示,只要在该字段中键入前3个字符,就会显示一个值列表,例如,键入“met”将显示以“met”开头的所有药物名称,现在我要做的是,我必须在Jtable最后一行的第2列中实现这个文本字段,比如在我上面提到的情况下的第13行。在从显示值列表中选择任何一种药物后,JTable可以动态添加一行并插入带有该搜索文本字段的新行,请为我提供一个想法和代码,并指导我如何为特定单元格(包含动态搜索文本字段的单元格)应用cellrenderer和celleditor


非常感谢:)

请让我们假设jTable2是您的JTable变量名,TextField是您的JTextField变量名。然后对文本字段的keylisterner使用以下代码以获得所需内容:-

javax.swing.table.DefaultTableModel dft= (javax.swing.table.DefaultTableModel)   
jTable2.getModel();
jTable2.setModel(dft);
dft.addRow(new Object[1]);
jTable2.setValueAt(TextField.getText(),jTable2.getRowCount()-1,1);