import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;/**
 * @author 作者 E-mail:
 * @version 创建时间:Jul 28, 2008 9:47:14 AM
 * 类说明
 */
public class text {
    String head[]={"AAA","BBB","CCC","DDD"};
    String body[][]={
            {"","","",""},  
            {"","","",""},      
            {"","","",""},      
            {"","","",""},      
            {"","","",""},      
            {"","","",""}
    };
public text(){
    JFrame frame=new JFrame();
    frame.setSize(new Dimension(400,200));
    frame.setLayout(new BorderLayout());
    final JTable table=new JTable(body,head);
    JScrollPane src=new JScrollPane(table);
    frame.add(src,BorderLayout.CENTER);
    JButton b=new JButton("变化");
    b.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent arg0)
        {
        
        }      
    });
    frame.add(b,BorderLayout.SOUTH);
    frame.setTitle("实验");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
}
public static void main(String args[]){
    new text();
}
}
想通过点击按钮改变表头中的第一列的值

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【happyandsad】截止到2008-07-28 10:21:13的历史汇总数据(不包括此帖):
    发帖的总数量:21                       发帖的总分数:1485                     每贴平均分数:70                       
    回帖的总数量:279                      得分贴总数量:97                       回帖的得分率:34%                      
    结贴的总数量:19                       结贴的总分数:1247                     
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:2                        未结的总分数:238                      
    结贴的百分比:90.48 %               结分的百分比:83.97 %                  
    无满意结贴率:5.26  %               无满意结分率:1.60  %                  
    值得尊敬
      

  2.   

    final JTable table=new JTable(body,head); 
    把这个设置属性吧,给它一个get方法.
    写个事件类,用一个持有一个text()对象的引用,点击的时候,得到这个对象的table对象的引用,然后再得到它的第几第列,然后修改它的值,没做过SWing程序
      

  3.   


    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableColumnModel;
    import javax.swing.table.JTableHeader;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableColumnModel;/**
     * @author 作者 E-mail:
     * @version 创建时间:Jul 28, 2008 9:47:14 AM 类说明
     */
    public class text {
    String head[] = { "AAA", "BBB", "CCC", "DDD" };
    String body[][] = { { "", "", "", "" }, { "", "", "", "" },
    { "", "", "", "" }, { "", "", "", "" }, { "", "", "", "" },
    { "", "", "", "" } }; public text() {
    JFrame frame = new JFrame();
    frame.setSize(new Dimension(400, 200));
    frame.setLayout(new BorderLayout());
    final JTable table = new JTable(body, head);

    JScrollPane src = new JScrollPane(table);
    frame.add(src, BorderLayout.CENTER);
    JButton b = new JButton("变化");
    b.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    JTableHeader header = table.getTableHeader();
    TableColumnModel columnModel = header.getColumnModel();
    TableColumn column = columnModel.getColumn(0);
    column.setHeaderValue("XXX");
    header.repaint();
    }
    });
    frame.add(b, BorderLayout.SOUTH);
    frame.setTitle("实验");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

    JTable tt = new JTable();
    //tt.add
    } public static void main(String args[]) {
    new text();
    }
    }
      

  4.   

    呵呵我少了 header.repaint();
    一行这个非常感谢
    结帖