Note that the example code in JDK-8178091 sleeps on the EDT, so you’re lucky it paints at all instead of hanging the UI.
It looks like you adapted the code from http://codereview.stackexchange.com/questions/29630/simple-java-animation-with-swing where no-one experienced with Swing pointed out this error ☹. Using a javax.swing.Timer (not the java.util.Timer!) and it runs okay (using Win10, Java 8u101): private void go() { new Timer(10, new ActionListener() { // Les coordonnées de départ de notre rond private int x = pan.getPosX(), y = pan.getPosY(); // Le booléen pour savoir si l'on recule ou non sur l'axe x private boolean backX = false; // Le booléen pour savoir si l'on recule ou non sur l'axe y private boolean backY = false; @Override public void actionPerformed(ActionEvent e) { // Si la coordonnée x est inférieure à 1, on avance if(x < 1) { backX = false; } // Si la coordonnée x est supérieure à la taille du Panneau moins la taille du rond, on recule if(x > pan.getWidth() - 50) { backX = true; } // Idem pour l'axe y if(y < 1) { backY = false; } if(y > pan.getHeight() - 50) { backY = true; } // Si on avance, on incrémente la coordonnée // backX est un booléen, donc !backX revient à écrire // if (backX == false) if(!backX) { pan.setPosX(++x); // Sinon, on décrémente } else { pan.setPosX(--x); } // Idem pour l'axe Y if(!backY) { pan.setPosY(++y); } else { pan.setPosY(--y); } // On redessine notre Panneau pan.repaint(); } }).start(); } Hope that helps, Walter. From: swing-dev [mailto:[email protected]] On Behalf Of Patrick Chen Sent: maandag 10 april 2017 12:23 To: [email protected] Subject: Re: <Swing Dev> JDK-8178091 : Bug I will workin on (edit : for example this game coded in java : https://github.com/cloudStrif/GoldenSunD will work with java 7 but clearly not with java8 (linux 64 bits) because of lags) 2017-04-10 12:19 GMT+02:00 Patrick Chen <[email protected]<mailto:[email protected]>>: Hi every one , just wanted to inform that I am working to fix this bug. it is when we devellop animations thanks to repaint() method , for java 7 it works well but with java8 not , (linux 64 bits it doesn't really work ) so after watching the source code it seem that it is not a swing problem but AWT : Component.java . thank you
