Java ponent=super.getTableCellRenderComponent(arg0、arg1、arg2、arg3、arg4、arg5); int align=DefaultTableCellRenderer.LEFT; if(align==DefaultTableCellRenderer.LEFT){ align=DefaultTableCellRenderer.CENTER; } ((DefaultTableCellRenderer)TableCellRenderer组件); 返回TableCellRenderComponent; } }; 对于(int i=0;i

Java ponent=super.getTableCellRenderComponent(arg0、arg1、arg2、arg3、arg4、arg5); int align=DefaultTableCellRenderer.LEFT; if(align==DefaultTableCellRenderer.LEFT){ align=DefaultTableCellRenderer.CENTER; } ((DefaultTableCellRenderer)TableCellRenderer组件); 返回TableCellRenderComponent; } }; 对于(int i=0;i,java,swing,jtable,jinternalframe,rollover-effect,Java,Swing,Jtable,Jinternalframe,Rollover Effect,如何将上述链接解决方案应用于我的表格?我只是做了一些小改动,它对我很有用 private int hoveredRow = -1, hoveredColumn = -1; table.addMouseMotionListener(new MouseMotionListener() { @Override public void mouseMoved(MouseEvent e) { Point p = e.getPoint();

如何将上述链接解决方案应用于我的表格?

我只是做了一些小改动,它对我很有用

private int hoveredRow = -1, hoveredColumn = -1;

    table.addMouseMotionListener(new MouseMotionListener() {
        @Override
        public void mouseMoved(MouseEvent e) {
            Point p = e.getPoint();
            hoveredRow = table.rowAtPoint(p);
            hoveredColumn = table.columnAtPoint(p);
            table.setRowSelectionInterval(hoveredRow, hoveredRow);
            table.repaint();    
        }
        @Override
        public void mouseDragged(MouseEvent e) {
            hoveredRow = hoveredColumn = -1;
            table.repaint();
        }
    });
试试这个:

        table.addMouseMotionListener(new MouseMotionListener() {
        @Override
        public void mouseDragged(MouseEvent e) {

        }

        @Override
        public void mouseMoved(MouseEvent e) {
            Point p = e.getPoint();
            int y = p.y / table.getRowHeight();
            if(y < table.getModel().getRowCount())
                table.setRowSelectionInterval(0, y);
        }
    });
table.addMouseMotionListener(新的MouseMotionListener()){
@凌驾
公共无效鼠标标记(鼠标事件e){
}
@凌驾
public void mouseMoved(MouseEvent e){
点p=e.getPoint();
int y=p.y/table.getRowHeight();
if(y
您创建了一个
RollOverTable
的实例,而不是
JTable
-您需要包含
RollOverTable
中的代码-很明显-请注意,这会影响单元格渲染器的功能
        table.addMouseMotionListener(new MouseMotionListener() {
        @Override
        public void mouseDragged(MouseEvent e) {

        }

        @Override
        public void mouseMoved(MouseEvent e) {
            Point p = e.getPoint();
            int y = p.y / table.getRowHeight();
            if(y < table.getModel().getRowCount())
                table.setRowSelectionInterval(0, y);
        }
    });