Java 如何在JTable中的JComboBox中获取ID和值
如何通过表中的特定行从Java 如何在JTable中的JComboBox中获取ID和值,java,swing,jtable,jcombobox,Java,Swing,Jtable,Jcombobox,如何通过表中的特定行从JTable中的JComboBox中获取值“item”和“ID” 及 将组合框添加到第1行的表中 表格中的组合框是表格的编辑器组件。除非您想要自定义编辑器,否则不需要获取组合框的项(JTable框架将为您处理编辑)。而是查询表的模型以获取所需的值。使用JTable.getModel()检索表的模型,并使用模型的getValue(int,int)方法检索实际值。如果不查看您的代码,而不是一些应用程序的屏幕截图,这些应用程序可以通过许多不同的方式实现,恐怕我们无法实际帮助您
JTable
中的JComboBox
中获取值“item”和“ID”
及
将组合框添加到第1行的表中
表格中的组合框是表格的编辑器组件。除非您想要自定义编辑器,否则不需要获取组合框的项(JTable框架将为您处理编辑)。而是查询表的模型以获取所需的值。使用
JTable.getModel()
检索表的模型,并使用模型的getValue(int,int)
方法检索实际值。如果不查看您的代码,而不是一些应用程序的屏幕截图,这些应用程序可以通过许多不同的方式实现,恐怕我们无法实际帮助您。好的,我正在为我的代码编辑帖子,请稍候,非常抱歉,我是堆栈溢出新手,我使用ProductItem a=Jtable1.getValue(1,1);不work@A.SusanJTable
没有getValue
方法。你是说getValueAt
?如果是这样的话,它以何种方式不起作用?尝试创建一个简短、自包含的可编译示例,让我们重现问题。好吧,除了您应该使用selectedRow
作为第一个参数之外,这是正确的方法。您知道列索引以0
开头,对吗?例如,getValueAt(1,1)
将从第二行和第二列检索值。在上面的屏幕截图中,表中的第二列不显示任何数据。是否您的模型在第二列中没有值?你用什么型号的?如何填充模型?噢,谢谢你,我对netbeans非常陌生。谢谢你,我对某些人的netbeans代码非常陌生,int num=((ProductItem)jTable1.getValueAt(1,0)).getId();或字符串S=((ProductItem)jTable1.getValueAt(1,0)).getName();
public class ProductItem {
private int id;
private String Name;
public ProductItem() {
}
public ProductItem(int id, String Name) {
this.id = id;
this.Name = Name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
@Override
public String toString() {
return getName();
}
}
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
public class LoadItem {
static ResultSet rs = null;
public static DefaultComboBoxModel LoadProduct(){
DefaultComboBoxModel ProDuctmodel = new DefaultComboBoxModel();
try {
rs = BarungCls.BarungSelect("select ID, Name from test_data ");
while(rs.next()){
ProDuctmodel.addElement(new ProductItem(Integer.parseInt(rs.getString(1)),rs.getString(2)));
}
return ProDuctmodel;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
return null;
}
}