// 在进入编辑状态下才自动加行,未进入编辑直接输出修改不换行
jTable1.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if (e.getKeyChar() == '\n') {
if (jTable1.getSelectedRow() >= jTable1.getRowCount() - 1) {
if(jTable1.getValueAt(jTable1.getRowCount() - 1, 0)!=null&&!jTable1.getValueAt(jTable1.getRowCount() - 1, 0).equals("")){
jTable1.editCellAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn());
((DefaultTableModel) jTable1.getModel()).addRow(new Object[jTable1.getColumnCount()]);
jTable1.editCellAt(jTable1.getRowCount() - 1, 0);
}
}
}
}
});
jTable1.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if (e.getKeyChar() == '\n') {
if (jTable1.getSelectedRow() >= jTable1.getRowCount() - 1) {
if(jTable1.getValueAt(jTable1.getRowCount() - 1, 0)!=null&&!jTable1.getValueAt(jTable1.getRowCount() - 1, 0).equals("")){
jTable1.editCellAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn());
((DefaultTableModel) jTable1.getModel()).addRow(new Object[jTable1.getColumnCount()]);
jTable1.editCellAt(jTable1.getRowCount() - 1, 0);
}
}
}
}
});
本文介绍了一种在Java Swing的JTable组件中实现自动添加新行的方法。通过监听键盘事件并在用户按下回车键时检查当前选中行及行末单元格的状态来决定是否新增一行。此方法适用于表格数据编辑场景。
10万+

被折叠的 条评论
为什么被折叠?



