首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Jtalbe疑惑解决思路

2012-01-19 
Jtalbe疑惑我想在jtable列出的表格中更改某个单元格的内容,然后在下次重新加载时就变成新内容,该怎么做?im

Jtalbe疑惑
我想在jtable列出的表格中更改某个单元格的内容,然后在下次重新加载时就变成新内容,该怎么做?
import   java.awt.*;
import   javax.swing.JButton;
import   javax.swing.*;
import   java.awt.event.*;
public   class   JtableDemo   extends   JApplet
{
            JTable   jt;
           
            String[]   tableHead={ "姓名 ", "电话 ", "年龄 "};
           
            public   void   init()
            {
                        Container   cp=getContentPane();
                        cp.setLayout(new   BorderLayout());
                        JButton   jb1=new   JButton( "change ");
                        final   Object[][]   recorder={
                                    { "张三 ", "139367 ", "30 "},
                                    { "李四 ", "139459 ", "30 "},
                                    { "王五 ", "601223 ", "6 "},
                                    { "王六 ", "6271444 ", "6 "}};
                          jt=new   JTable(recorder,tableHead);                          
                          jt.setGridColor(Color.red);
                         
                          int   v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
                          int   h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;                          
                        JScrollPane   jsp=new   JScrollPane(jt,v,h);
                       
                        cp.add(jsp,BorderLayout.CENTER);
                        cp.add(jb1,BorderLayout.SOUTH);
                       
                        jb1.addActionListener(new   ActionListener()
                        {
                                    public   void   actionPerformed(ActionEvent   ae)


                                    {
                                                //我想在此点击按钮后单元格中的内容就换成新内容,而且重新调用时也是新内容。
                                                int   i=jt.getEditingRow();
                                                int   j=jt.getEditingColumn();
                                               
                                                //下面这条语句肯定不对,怎么改呢?
                                                recorder[i][j]=   jt.getAccessibleContext().getAccessibleText().getAtIndex(i,j)   ;
                                             
                                              System.out.println(i);
                                              System.out.println(j);
                                              System.out.println(recorder[i][j]);
                                               
                                    }
                        }
                        );
                       
            }
}
// <applet   code= "JtableDemo.java "   width=400   height=400> </applet>

[解决办法]
package com.Demo;

/**
* <p> Title: </p>
*
* <p> Description: </p>
*
* <p> Copyright: Copyright (c) 2007 </p>
*
* <p> Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.awt.*;
import javax.swing.JButton;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Rectangle;

public class JtableDemo extends JFrame {
JTable jt;

String[] tableHead = { "姓名 ", "电话 ", "年龄 "};
final Object[][] recorder = { { "张三 ", "139367 ", "30 "}, { "李四 ", "139459 ",


"30 "}, { "王五 ", "601223 ", "6 "}, { "王六 ",
"6271444 ", "6 "}};
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable(recorder,tableHead);
JButton jButton1 = new JButton();

public JtableDemo() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}

}

public static void main(String[] args) {
JtableDemo demo=new JtableDemo();
demo.setDefaultCloseOperation(demo.EXIT_ON_CLOSE);
demo.setVisible(true);
}

private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
jScrollPane1.setBounds(new Rectangle(31, 36, 307, 296));
this.getContentPane().add(jScrollPane1);
this.getContentPane().add(jButton1);
jButton1.setBounds(new Rectangle(356, 88, 87, 38));
jButton1.setText( "jButton1 ");
jButton1.addActionListener(new JtableDemo_jButton1_actionAdapter(this));
jScrollPane1.getViewport().add(jTable1);
this.setSize(500,500);
this.setLocation(200,200);
}

public void jButton1_actionPerformed(ActionEvent e) {

}


}


class JtableDemo_jButton1_actionAdapter implements ActionListener {
private JtableDemo adaptee;
JtableDemo_jButton1_actionAdapter(JtableDemo adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
[解决办法]
其实什么也不用做就可以改变。
[解决办法]
数据是由TableModel维护
想保持一致就要不断的维护她
就可以了
我的模型里面有
JM1.3.1
http://1shome.ebok.cn/
[解决办法]
我认为你应该把时间用在JTABLE的数据库操作上。
你这样写死的东西作出来用处不太大吧
[解决办法]
你改过的内容没有被保存下来,只是在运行时留在内存中。关掉程序以后就没了。
找个媒介存一下你要保存的数据吧,文件,数据库都可以放。

热点排行