我从MeBigFatGuy有趣的问题中获得灵感,在这个连接中,我有一个非常具体的问题Graphisc2D,如何改变BackGround Color取决于是否JTables Row可见JViewPort,
1)如果1st. & last JTables Row在中可见JViewPort,则BackGround将被着色为Color.red
2)如果1st. & last JTables Row在中不可见JViewPort,那么BackGround就会被着色了Color.whatever

来自SSCCE
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
import javax.swing.*;
import javax.swing.RepaintManager;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.TableModel;
/*
https://stackoverflow.com/questions/1249278/
how-to-disable-the-default-painting-behaviour-of-wheel-scroll-event-on-jscrollpan
*
and
*
https://stackoverflow.com/questions/8195959/
swing-jtable-event-when-row-is-visible-or-when-scrolled-to-the-bottom
*/
public class ViewPortFlickering {
private JFrame frame = new JFrame("Table");
private JViewport viewport = new JViewport(); …Run Code Online (Sandbox Code Playgroud)