关于Jtable编辑后保存的问题?????

qjsbha 2010-01-22 03:24:49
Jtable编辑后,我获得的还是未编辑之前的数据。我现在想在数据表上实现修改数据的功能。不会实现。还有怎么设置一列不能被编辑???
...全文
231 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
randomer 2010-01-22
  • 打赏
  • 举报
回复
Jtable有一个bug,如果你编辑了一个cell完了之后焦点还在那个cell上,那么这个cell的值不会被更新,即使你切换到其他应用上,所以编辑完了之后要按回车或点一下其他的cell这样才会被保存
不能设置某一列不能被编辑,需要自己写代码处理
jinglingqaz 2010-01-22
  • 打赏
  • 举报
回复
关于数据提交的:
if (table.isEditing()) { //判断是否在编辑
int row = table.getEditingColumn();//那一行
int col = table.getEditingColumn(); //那一列
TableCellEditor editor = table.getCellEditor(row, col);
editor.stopCellEditing();
}
不可以编辑的:
class MyTable1Model extends DefaultTableModel {
public MyTable1Model(Vector data,Vector columns){
super(data,columns);
}
public boolean isCellEditable(int row,int column){//那一行列是否可以编辑
return false;
}
public Class getColumnClass(int col) { //某一列的值的类型
return String.class;
}
}
yudeyanli 2010-01-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 psyuhen 的回复:]
没弄过Jtable,,,好久没有弄Swing啦。
[/Quote]我好久以前也没弄过这玩意。刚接触!
psyuhen 2010-01-22
  • 打赏
  • 举报
回复
没弄过Jtable,,,好久没有弄Swing啦。
yudeyanli 2010-01-22
  • 打赏
  • 举报
回复
呼叫大牛!可惜哥以前做VC现在沦落到做java了真晕
java万年历课程设计,有源代码 源代码片段:public class wannianli extends JFrame implements ActionListener, MouseListener { private Calendar cld = Calendar.getInstance(); private String [] astr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"}; private DefaultTableModel dtm = new DefaultTableModel(null,astr); private JTable table = new JTable(dtm); //装日期的表格 private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年"); private JButton bNextYear = new JButton("下一年"); private JButton bLastMonth = new JButton("上月"); private JButton bNextMonth = new JButton("下月"); private JTextField jtfYear = new JTextField(5);//jtfYear年份显示和输入文本框,允许编辑单行文本 private JTextField jtfMonth = new JTextField(2);//jtfMonth月份显示文本框 private JPanel p1 = new JPanel(); //装入控制日期按钮的模块 private JPanel p2 = new JPanel(); private JPanel p3 = new JPanel(new BorderLayout()); private JPanel p4 = new JPanel(new GridLayout(2,1)); private JPanel p5 = new JPanel(new BorderLayout()); private JButton bAdd = new JButton("保存日志"); private JButton bDel = new JButton("删除日志"); private JTextArea jta = new JTextArea(); //JTextArea 是一个显示纯文本的多行区域 private JScrollPane jsp = new JScrollPane(jta); //管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口 private JLabel l = new JLabel("小提示:可直接输入年份,提高查询效率!"); private JLabel lt = new JLabel();//系统时间 private JLabel ld = new JLabel();//日期是否被选择 private int lastTime; JMenuBar jmb = new JMenuBar(); JMenu view;

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧