当前位置: 首页 > 面试题库 >

如何在JTable中创建过渡效果?

习阳
2023-03-14
问题内容

在我的应用程序中,我想用JTable的行创建过渡效果。例如,当鼠标进入该行时,该行的背景颜色将改变;相反,当鼠标退出该行时,该行的颜色将恢复正常。

我怎样才能做到这一点?


问题答案:

使用下面的代码,这将为您提供关于对JTable的行应用翻转效果的想法。

import java.awt.Component;
import java.awt.event.MouseEvent;

import javax.swing.*;
import javax.swing.event.MouseInputAdapter;
import javax.swing.table.*;

public class RollOverTable extends JTable {

    private int rollOverRowIndex = -1;

    public RollOverTable(TableModel model) {
        super(model);
        RollOverListener lst = new RollOverListener();
        addMouseMotionListener(lst);
        addMouseListener(lst);
    }

    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
        Component c = super.prepareRenderer(renderer, row, column);
        if( isRowSelected(row) || (row == rollOverRowIndex) ) {
            c.setForeground(getSelectionForeground());
            c.setBackground(getSelectionBackground());
        }
        else {
            c.setForeground(getForeground());
            c.setBackground(getBackground());
        }
        return c;
    }


    private class RollOverListener extends MouseInputAdapter {

        public void mouseExited(MouseEvent e) {
            rollOverRowIndex = -1;
            repaint();
        }

        public void mouseMoved(MouseEvent e) {
            int row = rowAtPoint(e.getPoint());
            if( row != rollOverRowIndex ) {
                rollOverRowIndex = row;
                repaint();
            }
        }
    }
}


 类似资料:
  • 假设你在component.html有两个这样的裂口 当您将htmlSegment设置为a或b时,我们知道真实值段会出现,而另一个会消失。没有问题。 但是,如何才能使这些片段的外观和消失具有一些过渡效果;例如淡入或淡出等? 是否有可能确保在新的htmlSegment中完成dom之后开始转换?(这是为了使用户不会体验到任何闪烁或页面抖动,除了令人敬畏的淡入淡出。)

  • CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。 尽管 CSS3 过渡效果是足够的过渡的一个元素,但是 text-transform 属性可以提高 CSS3 过渡效果的风格。 主要有四个属性的CSS3转换效果,已被描述如下: transition-property transition-duration transition-timing-function transition-delay

  • 可以使用“CSS 过渡效果”面板创建、修改和删除 CSS3 过渡效果。 要创建 CSS3 过渡效果,请通过为元素的过渡效果属性指定值来创建过渡效果类。如果在创建过渡效果类之前选择元素,则过渡效果类会自动应用于选定的元素。 可以选择将生成的 CSS 代码添加到当前文档中,或指定外部 CSS 文件。 创建并应用 CSS3 过渡效果 (可选)选择想要应用过渡效果的元素(段落、标题等)。或者,也可以创建过

  • 主要内容:使用案例过渡效果(Transition)插件提供了简单的过渡效果。 如果您想要单独引用该插件的功能,那么除了其他的 JS 文件,您还需要引用 transition.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。 Transition.js 是 transitionEnd 事件和 CSS 过渡效果模拟器的基本

  • 主要内容:1. transition-property,2. transition-duration,3. transition-timing-function,4. transition-delay,5. transition通常当 CSS 的属性值更改后,浏览器会立即更新相应的样式,例如当鼠标悬停在元素上时,通过 :hover 选择器定义的样式会立即应用在元素上。在 CSS3 中加入了一项过渡功能,通过该功能您可以将元素从一种样式在指定时间内平滑的过渡到另一种样式,类似于简单的动画,但无需借

  • 概述 Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css 在过渡钩子函数中使用 JavaScript 直接操作 DOM 可以配合使用第三方 JavaScript 动画库,如 Velocity.js 在这里,我们只会讲到进入、离开和列表的过渡, 你也可