编程论坛's Archiver

h229159701 发表于 2008-5-16 11:05

JTable标题问题

请问一下:
我想在点击JTable列标题的时候将标题取出  试过好几种方法都不行 有谁能帮帮我吗:

sunkaidong 发表于 2008-5-16 12:25

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class demo  implements MouseListener
{
        Container cp;
        TextField t;
        JFrame f;
        JLabel la;
        public demo()
        {
         f=new JFrame();
         t=new TextField(100);
         cp=f.getContentPane();
         cp.setLayout(new BorderLayout());
         la=new JLabel("请输入数据");
         cp.add(la,BorderLayout.CENTER);
         cp.add(t,BorderLayout.EAST);
         la.addMouseListener(this);
         f.pack();
         f.show();
        }
        public void mouseClicked(MouseEvent ev){
        t.setText(la.getText()+"mouseClicked");
       
     }
//响应压下鼠标
public void mousePressed(MouseEvent ev){
        t.setText(la.getText()+"mousePressed");
     }
//响应松开鼠标
public void mouseReleased(MouseEvent ev){
        t.setText(la.getText()+"mouseReleased");
     }
//响应鼠标进入
public void mouseEntered(MouseEvent ev){
        t.setText(la.getText()+"mouseEntered");
     }
//响应鼠标退出
public void mouseExited(MouseEvent ev){
    t.setText(la.getText()+"mouseExited");
    }

       
        public static void main(String []args)
        {
                new demo();
                }
        }

h229159701 发表于 2008-5-17 09:59

啊正

不好意思  你是不是看错了我的意思了啊?看你的程序好像是点击JLabel就取出JLabel的值
但是我现在要的不是JLabel的 我要的JTable 也就是一个表格的~~~要点击表格标题去标题名  如果只是单单点击表数据就可以做出来  但是我不知道怎么实现点击标题的事件

sunkaidong 发表于 2008-5-17 10:04

恩,看错题目了...JTabel也好像支持鼠标事件...用相同的方法处理就好了

h229159701 发表于 2008-5-17 17:08

啊正

不可以的~~~内容表格就可以用鼠标点击事件,但是如果是想点击表标题是不可以的~~~
其实我是想在点击表标题栏(标题栏哦)时,然后将该栏的标题字符取出来 以下的方法可以取出,但是是在点击表内容才可以,而不是标题
JTable tab=new JTable();
System.out.println(tab.getColumnName(tab.getColumnCount());

h229159701 发表于 2008-5-17 17:18

写错了~~~是
JTable tab=new JTable();
System.out.println(tab.getColumnName(tab.getSelectedColumn());

h229159701 发表于 2008-5-26 19:24

该问题已经解决~~~
谢谢sunkaidong哦~~~

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.