Java 从JTable填充JComboBox

Java 从JTable填充JComboBox,java,swing,jtable,actionlistener,jcombobox,Java,Swing,Jtable,Actionlistener,Jcombobox,我有以下JComboBox: JComboBox cbxUf; 下面的JTable JTable tblObjetos; 其结构如下: ------------------------ | Nome | UF | ------------------------ | Nome 1 | AC | | Nome 2 | AC | | Nome 3 | PE | ------------------------ 我需要将

我有以下JComboBox:

JComboBox cbxUf;
下面的JTable

JTable tblObjetos;
其结构如下:

------------------------
| Nome       | UF      |
------------------------
| Nome 1     | AC      |
| Nome 2     | AC      |
| Nome 3     | PE      |
------------------------
我需要将所选行从tblObjetos传递到cbxUf的selectedItem,因此我向tblObjetos添加了一个mouseStener,其中包含以下事件:

public void mouseClicked(MouseEvent evt){
    int col = tblObjetos.getSelectedColumn();
    int row = tblObjetos.getSelectedRow();
    cbxUf.setSelectedItem(tblObjetos.getModel().getValueAt(row, col));
}
它设法用所选行填充cbxUf,但仅当我单击UF列时。如果单击表的左侧,selectedItem一点也不改变

我做错什么了吗?有没有别的办法

谢谢

cbxUf.setSelectedItem(tblObjetos.getModel().getValueAt(row, col));
我的猜测是,您的组合框只包含第二列的值,因此在单击第一列时没有对象可供选择。例如,如果单击第一行,则尝试将所选项目设置为“Nome 1”。组合框中不存在此值,因此不会更改选择。您真正想要的是选择“AC”

您的代码应该是:

cbxUf.setSelectedItem(tblObjetos.getModel().getValueAt(row, 1));

另外,不要使用鼠标侦听器,而是将ListSelectionListener添加到表选择模型中

请发布一个更好的帮助,因为手动设置列值成功了!谢谢!