一个界面,上面有其他按钮,以及一个用jviewport来滚动显示内容的jpanel.当jpanel的内容显示到最后的时候,这个时候鼠标移至界面上的其他按钮(有mouseover事件响应),jviewport的显示就出现抖动,显示的内容又跳到最开始。
  不知道有没有人碰到这个问题?
   
   jviewport部分代码
     public class ... extends JPanel
          private Point anchor;
//private JLabel label = new JLabel("");
private JViewport window = new JViewport(); 
        private JPanel allnewsLabel = new JPanel();
private Timer shownewsTimer = new Timer();
private TimerTask shownewsTask;
private Timer getnewsTimer=new Timer();
private TimerTask getnewsTask;
       
         window.setView(allnewsLabel);
window.setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
window.setOpaque(false);
this.add(window);
        anchor = new Point(); 
        anchor.x = -window.getExtentSize().width; 
        shownewsTask=new TimerTask(){
        public void run(){
        animate();
            }
        };
        
getnewsTask=new TimerTask(){   //jpanel内容
         public void run(){
          getNews();
         }
          };
getnewsTimer.schedule(getnewsTask, 0, 300000);   
shownewsTimer.schedule(shownewsTask, 0, 200);
     private void animate()
    { 
     Dimension extSize = window.getExtentSize(); 
     Dimension viewSize = allnewsLabel.getPreferredSize(); 
     anchor.x += 6;//设置移动的速度 
     window.setViewPosition(anchor); 
     if (anchor.x > viewSize.width) {
     anchor.x = -extSize.width;
     }
    }