gpt4 book ai didi

java - 如何获取JTable中选定单元格(JComboBox)的当前位置

转载 作者:行者123 更新时间:2023-12-01 08:52:52 26 4
gpt4 key购买 nike

private JPanel contentPane;
private JTable table;
private JComboBox<String> jcbtest;
private DefaultTableModel tablemodel;

jcbtest=new JComboBox<String>();
jcbtest.addItem("item1");
jcbtest.addItem("item2");
jcbtest.addItem("item3");
jcbtest.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int curi=table.getSelectedRow();
int curj=table.getSelectedColumn();
JOptionPane.showMessageDialog(null, "actionListener:"+curi+" "+curj);

}
});

jcbtest.addItemListener(new ItemListener(){
public void itemStateChanged (ItemEvent e){
int curi=table.getSelectedRow();
int curj=table.getSelectedColumn();
JOptionPane.showMessageDialog(null, "itemstateChanged:"+curi+" "+curj);
}
});

table = new JTable();String title[]={"姓名", "部门", "职位"};
tablemodel=new DefaultTableModel(title, 3);
table = new JTable(tablemodel){
private static final long serialVersionUID=1L;
public boolean isCellEditable( int rowIndex, int columnIndex){
if( rowIndex == getRowCount() - 1 ){
DefaultTableModel dtm=(DefaultTableModel)dataModel;
dtm.addRow(new String[]{"","",""});
}
return true;
}
};
table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(jcbtest));

scrollPane.setViewportView(table);

第一次选择,显示没有选中的单元格

之后,它给了我之前操作的位置

如何获取当前选定的单元格位置?

最佳答案

构造一个 DefaultCellEditor JComboBox<String> ,如图here ,并将其用作 cell editor 。当应用于可编辑单元格时,每个单元格的当前选择将存储在TableModel中.

What should I do to get the selected-cell's position?

JComboBox 用作 cell editor ,并且它的选择索引没有意义,除非用作作为编辑器。在所有其他时间,所选值存储在 TableModel 中。给定特定值,您可以使用 getIndexOf()编者的方法 DefaultComboBoxModel 以确定它用作编辑器时的位置。

关于java - 如何获取JTable中选定单元格(JComboBox)的当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42274983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com