如何实现单击表头的某列,该列的所有单元格高亮选中,请大侠赐教!

解决方案 »

  1.   

    table.getTableHeader().addMouseListener(new MouseAdapter()  //表头添加事件
      {
            public void mouseClicked(MouseEvent e) 
            {  
            int tableColumn=table.columnAtPoint(e.getPoint());//获取点击的列
          
    }
      

  2.   


    package com.nec.zw.test.csdn;import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.WindowConstants;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;public class TableHeaderAddListener {    public static void main(String[] args) {
            final JTable table = new JTable();
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            final JTableHeader header = table.getTableHeader();
            header.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    int columnIndex = header.columnAtPoint(e.getPoint());
                    table.setColumnSelectionAllowed(true);
                    table.setRowSelectionAllowed(false);
                    table.setColumnSelectionInterval(columnIndex, columnIndex);
                }
            });
            table.setModel(new DefaultTableModel() {
                @Override
                public int getRowCount() {
                    return 10;
                }            @Override
                public int getColumnCount() {
                    return 10;
                }            @Override
                public Object getValueAt(int row, int column) {
                    // TODO Auto-generated method stub
                    return row + "_" + column;
                }
            });        JScrollPane scroll = new JScrollPane(table);
            JFrame frame = new JFrame();
            frame.getContentPane().add(scroll);
            frame.setSize(200, 200);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        }
    }
      

  3.   

            table.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
               
                    table.setRowSelectionAllowed(true);
                    
                }
            });
    加上后问题解决了,再次感谢楼上两位!结帖给分!