生成JTable时:
JTable jTable1 = new JTable(new DbTableModel()){
public boolean isCellEditable(int row, int column){
return true;
}
};然后响应mouseClicked或者keyPressed事件
JTable jTable1 = new JTable(new DbTableModel()){
public boolean isCellEditable(int row, int column){
return true;
}
};然后响应mouseClicked或者keyPressed事件
在返回true之前截获这个动作即可。
在这里你可以通过if来判断你想通过那个事件来控制
表的Cell处于编辑状态。
jackkui(键盘上的武士) 说的应该可以
Public class youCclassName implements ListSelectionListener
{
private JTable customTable = new JTable(...);
.....public void valueChanged(ListSelectionEvent e)
{
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if ( !lsm.isSelectionEmpty() )
{
int curRow = customTable.getSelectedRow();
if( curRow == 0 )
{
//upBtn.setEnabled(false);
//downBtn.setEnabled(true);
}
else
{
//downBtn.setEnabled(true);
//upBtn.setEnabled(true);
}
if( curRow == customTable.getRowCount() - 1 )
{
//downBtn.setEnabled(false);
} if ( !removeBtn.isEnabled() )
{
//removeBtn.setEnabled(true);
}
}
}
((DefaultCellEditor)customTable.getCellEditor()).setClickCountToStart(1);
isCellEditable()为true说明单元格可编辑!