在下自己的代码,写成这样后,不知如何着手了,请指点
package menu;
import java.awt.FlowLayout;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;import java.awt.event.MouseListener;import javax.swing.table.TableColumn;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;public class Mjtable extends JFrame {
    DefaultTableColumnModel colmodel=new javax.swing.table.DefaultTableColumnModel();
    javax.swing.table.DefaultTableModel dtm=null;
    TableColumn tmptc=new TableColumn();
    TableColumn lasttc=new TableColumn();
    JScrollPane js=new JScrollPane();
    Object[][] t1val={
        {"编号"},{"名称"},{"体型"},{"岁数"},{"身高"}
    };
    String[] tt={"colname","文本框"};
    JTable jt;
    JLabel jl=new JLabel();
    public Mjtable()
    {
        add(js);
        dtm = new DefaultTableModel(t1val,tt);
        colmodel.addColumn(tmptc);
        colmodel.addColumn(lasttc);//希望能让这一列变成一个JTextField或是JButton;但现在它是重复显示第一列的内容
        
        
        
        jt=new JTable(dtm,colmodel);        js.setViewportView(jt);
    }
    
    public static void main(String[] args)
    {
        Mjtable mj=new Mjtable();
        mj.setSize(800,600);
        mj.setVisible(true);
    }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【III_dont_know】截止到2008-07-07 16:36:45的历史汇总数据(不包括此帖):
    发帖的总数量:16                       发帖的总分数:440                      
    结贴的总数量:15                       结贴的总分数:390                      
    无满意结贴数:1                        无满意结贴分:50                       
    未结的帖子数:1                        未结的总分数:50                       
    结贴的百分比:93.75 %               结分的百分比:88.64 %                  
    无满意结贴率:6.67  %               无满意结分率:12.82 %                  
    值得尊敬
      

  2.   

    哪位仁兄指点一下,为什么我下边的代码运行后,快速的双击表格中的一个按钮,就会显示出和第一列相同的数据来?????应该如何处理,才不会出现这样的情况呢????
    package menu;
    import java.awt.FlowLayout; 
    import java.util.*; 
    import javax.swing.*; 
    import javax.swing.table.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.awt.event.ActionListener; import java.awt.event.MouseListener; import javax.swing.table.TableColumn; 
    import javax.swing.table.AbstractTableModel; 
    import javax.swing.table.DefaultTableModel; 
    public class Mjtable extends JFrame {
        DefaultTableColumnModel colmodel=new javax.swing.table.DefaultTableColumnModel();
        javax.swing.table.DefaultTableModel dtm=null;
        javax.swing.table.TableModel tm=null;
        TableColumn tmptc=new TableColumn();
        TableColumn lasttc=new TableColumn();
        JScrollPane js=new JScrollPane();
        Object[][] t1val={
            {"编号","选择"},{"名称","选择"},{"体型","选择"},{"岁数","选择"},{"身高","选择"}
        };
        String[] tt={"colname","文本框"};
        JTable jt;
        JLabel jl=new JLabel();
        
        public Mjtable()
        {
            add(js);
            
            
            
            
            dtm = new DefaultTableModel(t1val,tt);
            colmodel.addColumn(tmptc);
            
            lasttc.setCellRenderer(new JButtonRender());
            
            colmodel.addColumn(lasttc);
            
            
            jt=new JTable(dtm,colmodel);        js.setViewportView(jt);
        }
        
        public static void main(String[] args)
        {
            Mjtable mj=new Mjtable();
            mj.setSize(800,600);
            mj.setVisible(true);
            mj.setDefaultCloseOperation(EXIT_ON_CLOSE);
        }
        
        
        
        
        
        
        
        
        class JButtonRender extends JButton implements TableCellRenderer {
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                if(isSelected)
            {
                setBackground(Color.RED);
            }else
            {
                setBackground(null);
                  
            }
                
                if(hasFocus)
                {
                    this.transferFocusBackward();
                }
            setText((value == null) ? "" : "选择");            return this;
            }
            
        }
    }
      

  3.   

    请问,为何我只设了一列的数据 
    Object[][] t1val={ 
            {"编号"},{"名称"},{"体型"},{"岁数"},{"身高"} 
        }; 
    而绑定到表格后,却在两列中都显示相同的数据呢???应该如何处理掉最后一列不要其显示和第一列相同的数据呢?
      

  4.   

    参考 http://java.sun.com/docs/books/tutorial/uiswing/components/table.html