当jtable中单元格的数据过长不能完全显示,我想实现这样的功能:在这个单元格上单击右键后,弹出文本框(或菜单)将其内容完整显示,如何实现?
最好能给出完整点的示例代码,分不够可以追加的

解决方案 »

  1.   

    table.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mouseClicked(java.awt.event.MouseEvent e) {
    if(e.getButton() == java.awt.event.MouseEvent.BUTTON3) {
    int column = table.columnAtPoint(e.getPoint());
    int row = table.rowAtPoint(e.getPoint());
    String content = table.getValueAt(row, column).toString();
    JOptionPane.showMessageDialog(table,content);
    }

    }
    });
      

  2.   

    注:table为一个JTable实例.以上代码测试通过...
      

  3.   


    2楼,代码是没错,可是以消息框来显示单元格内容一样是无法换行的,而且很丑
    我想要的是类似tooltip式的,单击右键后能够在这个单元格位置出现一个文本框,换行显示数据
      

  4.   


    监听右键当然知道,难在显示。如果在固定位置的一个jtextarea中显示,很容易
    我现在需要能在右键点击的单元格位置附近出现一个类似tooltip的文本框换行显示
      

  5.   

    总的来说就是类似于实现一个能自动换行的JPopupMenu或tooltip那样的功能
      

  6.   

    总的来说,就是类似能自动换行的JPopupMenu或tooltip那样的功能
      

  7.   

    右键事件,显示另一个窗体,设置该窗体位置为该鼠标所在位置,或者你想要它在的位置,然后给它里面添加内容。只要控制一下style,完全可以实现你想要的功能啊。
      

  8.   

    jTable1.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    jTable1.getSelectedColumn(); //哪一列
                    int index = jTable1.getSelectedRow(); //哪一行
                    voTable = (Vector) vRows.get(index);
                    if (e.getClickCount() == 2) { //双击表格
                    }
                }
            });
      

  9.   

    有人问过了,楼主见:http://topic.csdn.net/u/20080408/13/2f2e571b-d446-48dc-99d5-c67a6805a1a8.html