我写了个简单的代码,大体如下,但是JTable不显示列名,不知道怎么回事,高手帮忙看一下阿                JTable result_Tab = new JTable(10,10);
result_Tab.setBounds(10,10,600,600);
TableColumnModel columnmodel = result_Tab.getColumnModel();
for(int i =0; i< 10; i++)
{
columnmodel.getColumn(i).setHeaderValue("aaa");
}
JCrollPane Pane= new JCrollPane();
Pane.add(result_Tab);

解决方案 »

  1.   

    设置表头你不用搞的这么复杂吧,有一个表头对象呀,你直接设置表头对象就可以。如果你把表和表头放在JScrolPane面板上面则不用把表头和表关联,如果不放在JScrolPane上面则需要把表和表头关联
      

  2.   

    你把它放到JScrollPane就可以了。
      

  3.   

    构造JTable对象时把表头字符串传进去不就行了
    JTable(Object[][] rowData, Object[] columnNames) 
    rowData使用null
      

  4.   

    构造JTable时一定要把JTable放到JScrollPane中才能显示列头。
      

  5.   

    对头了,需要放在一个JScrollPane中
      

  6.   

    String[] columnNames = {"列名1","列名2","列名3"};
    JTable table = new JTable();
    ((DefaultTableModel)table.getModel()).setColumnIdentifiers(columnNames);
      

  7.   

    JScrollPane sp=new JScrollPane(table);
    frame.add(sp);
      

  8.   


        String[] col = {"姓名", "性别", "年龄", "身高", "地址", "学历"}; //定义表头
        //定义一个模板并重写其中单元格编辑状态为不可编辑
        public DefaultTableModel mm = new DefaultTableModel(col, 0) {
            public boolean isCellEditable(int rowindex, int columnindex) {
                /**
                 * 指定单元格编辑状态
                 * if(rowindex == 3){
                    return false;
                             }
                 *
                 */
                return false; //全部不可编辑
            }
        };    JTable jtable = new JTable(mm); //新建一个表格
        JScrollPane jscrollpane = new JScrollPane(jtable); //将表格加个滚动条
      

  9.   

    我的这个不行啊
    帮帮我import javax.swing.*;
    import java.awt.*;
    import java.sql.*;
    import java.awt.event.*;
    /*
    功能实现单击“显示”按钮
    显示带标题和滚动条的表格
    */
    public class tables
    {  
       public static void main(String args[])
       {  WinTable Win=new WinTable();  
       }
    }
    class WinTable extends JFrame implements ActionListener
    {     JTable table;//表格
       Object a[][];//表格内容数组
       Object name[]={ "商品编号", "名称","单价","数量","所属类别","易燃","易碎","易挥发"};//标题
       
       JButton button;   JScrollPane show;//放置表格的容器   WinTable()
       {         
         a=new Object[20][8];
         
                 
                 
         button=new JButton("显示");     table=new JTable(a,name);     button.addActionListener(this);     Container con=getContentPane();
         show=new JScrollPane(table);
         getContentPane().add(show,BorderLayout.CENTER);     table.setVisible(false);
         show.setVisible(true);
         con.add(button,BorderLayout.SOUTH);
         setSize(800,400);
         setVisible(true);
         validate();
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  } 
      public void actionPerformed(ActionEvent e)
      {     
              Connection con;
              Statement sql;
              ResultSet rs;
              int cols=0;
        if(e.getSource()==button){      try {  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
              }
             catch(ClassNotFoundException e2){
                  System.out.println("  ClassNotFoundException");
                }      try {  con=DriverManager.getConnection("jdbc:odbc:shop","","");
                 sql=con.createStatement();
                 rs=sql.executeQuery("SELECT * FROM shop");
                 
                 while(rs.next())
                 {     String  id=rs.getString(1);
                       String  name=rs.getString(2);  
                       String   price=rs.getString(3);
                       int     count=rs.getInt("count");
                       String  suoshu=rs.getString("suoshu"); 
                       boolean zy1=rs.getBoolean("zy1");
                       boolean zy2=rs.getBoolean("zy2");
                       boolean zy3=rs.getBoolean("zy3");
                       
                          
                          a[cols][0]=id;
                          a[cols][1]=name;
          a[cols][2]=price;
                          a[cols][3]=count;
          a[cols][4]=suoshu;
                          
      

                             if(zy1==true){a[cols][5]="是";}
                             else   a[cols][1]="否";
     
                             if(zy2==true){a[cols][6]="是";}
                             else   a[cols][1]="否";
     
                             if(zy3==true){a[cols++][7]="是";}
                             else   a[cols++][1]="否";
                             
                 }
                con.close();
               }
            catch(SQLException e3) 
               {  System.out.println(e3);
              }          
            table.setVisible(true);
            show.setVisible(true);      
            table.repaint();
            
            //show.validate();
      }   }
    }
      

  10.   

    该帖包含附件:http://d.download.csdn.net/down/840213/housanqishi
      

  11.   

    你把它放到JScrollPane就可以了
      

  12.   

    JPanel p=new JPanel(new BorderLayout());
    JTable table=new JTable(rowData, columnNames);
    p.add(table.getTableHeader(),BorderLayout.PAGE_START);
    p.add(table,BorderLayout.CENTER);
    这样就可以不加JScrollPane时也能显示表头了