[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] <Swing Dev> JDK-8178091 : Bug I will workin on
From:       Patrick Chen <chen.j.patrick () gmail ! com>
Date:       2017-04-28 16:48:33
Message-ID: CANmuJ8vp9UdJWefKfzVk7qVsNmaym=igs1HeFkZWFhdcsBwX6Q () mail ! gmail ! com
[Download RAW message or body]

yes you are right  ,
but I will see the root of the problem it will be better


2017-04-21 1:30 GMT+02:00 Philip Race <philip.race@oracle.com>:

> If appropriate conceptually (and I am not sure it is), then this
> is better addressed in a more localised way in code specific to
> the xrender pipeline which is the only pipeline that has this
> problem .. correct ? And if it is only in this pipeline an investigation
> into the specifics of what is different would be the place to start.
>
> -phil.
>
> On 4/20/17, 5:40 AM, Patrick Chen wrote:
>
> edit : So (sorry if I repeat myseft )
>
> what I propose :
>
> webrev : http://cr.openjdk.java.net/~alexsch/chen.j.patrick/
> 8178091/webrev.01/
>
> bug :  JDK-8178091
>
> 2017-04-20 11:37 GMT+02:00 Patrick Chen <chen.j.patrick@gmail.com>:
>
>> Hi ,
>> thank you  Alexandr !
>>
>> You are right Phil , but for the moment I did a lot of tests , and it
>> seems that there is no problems with this method ...
>> so as the bug is only on Linux I check on the method if we are on linux
>> or not , then only I sync() ,
>> like this , on other system ,it will use the asynchrone repaint() method
>> ,
>>
>> I think for the moment it is a possible way to correct the JDK-8178091
>> bug ,
>> of course , it is maybe not final ,
>> but it works well.
>>
>> -Pat
>>
>> 2017-04-19 18:27 GMT+02:00 Phil Race <philip.race@oracle.com>:
>>
>>>
>>>
>>> On 04/19/2017 12:51 AM, Patrick Chen wrote:
>>>
>>> Ok so can you take the source from the git ?
>>>
>>>
>>> Sounds the same to me as reviewing it there ..
>>>
>>> You probably have an account in  cr.openjdk.java.net ,
>>>
>>>
>>> but Another solution to fix the bug 8178091 is to write a repaint()
>>> method from Component.java
>>> (as we all know :  JPanel.java -->(extends) >Jcomponent.java
>>> -->(extends)-> Composent.java)
>>>
>>> and the repaint() method is on Component.java
>>>
>>>
>>> So in JPanel.java we add a method repaint() ;
>>>
>>> public void repaint(){
>>> super.repaint() ; //this call repaint() from Component.java to reproduce
>>> a simple repaint();
>>> Toolkit.getDefaultToolkit().sync();
>>> }
>>>
>>>
>>> sync sounds to me more like adding a performance problem rather than
>>> fixing one.
>>> I'd be very reluctant to accept such a change in core JDK without
>>> appropriate
>>> performance testing across all affected pipelines and platforms.
>>>
>>> And I don't think it is correct anyway. repaint is asynchronous and
>>> trying
>>> to make it synchronous is redefining it 20 years too late.
>>>
>>> But if you do it yourself in your own code that is up to you ...
>>>
>>> -phil.
>>>
>>>
>>>
>>> so with this each time we call repaint() ; it call our new repaint()
>>> method with the sync();
>>> and then it works well
>>>
>>>
>>>
>>> 2017-04-17 16:24 GMT+02:00 Philip Race <philip.race@oracle.com>:
>>>
>>>> Per openjdk rules, we cannot review or accept webrevs hosted anywhere
>>>> other than cr.openjdk.java.net [1]
>>>>
>>>> Generally you ask someone who has a login there to do it for you
>>>>
>>>> Or you may try submitting the patch in-line to this email if it is
>>>> short.
>>>>
>>>> Not an attachment. It will get stripped.
>>>>
>>>> -phil.
>>>>
>>>> [1] http://openjdk.java.net/guide/changePlanning.html
>>>>
>>>>
>>>> On 4/17/17, 3:42 AM, Patrick Chen wrote:
>>>>
>>>> https://github.com/cloudStrif/webrev
>>>>
>>>>
>>>> 2017-04-17 12:33 GMT+02:00 Patrick Chen <chen.j.patrick@gmail.com>:
>>>>
>>>>> so here a webrev :
>>>>>
>>>>> 2017-04-12 23:41 GMT+02:00 Sergey Bylokhov <sergey.bylokhov@oracle.com
>>>>> >:
>>>>>
>>>>>> (CC) 2d-dev
>>>>>> If some of these options helps then most probably the bug is in the
>>>>>> Java2D pipeline(XRender?) and looks like this is duplicate of:
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8068529
>>>>>>
>>>>>>
>>>>>>
>>>>>> OK ,
>>>>>> So I did severals tests with theses options with programms using full
>>>>>> repaint() method
>>>>>> ,and it still work well,
>>>>>> but occasionnaly ,the lag is here again ,particularly when there are
>>>>>> a lot component on the screen (Jpanel screen)
>>>>>>
>>>>>> indeed , I think it is not normal that we need theses options to work
>>>>>> well ,
>>>>>> but it seem the problem does not come from Swing package , but
>>>>>> repaint() method in AWT package ,
>>>>>>
>>>>>> 2017-04-12 21:26 GMT+02:00 Patrick Chen <chen.j.patrick@gmail.com>:
>>>>>>
>>>>>>> OK ,
>>>>>>> So I did severals tests with theses options with programms using
>>>>>>> full repaint() method
>>>>>>> ,and it still work well,
>>>>>>> but occasionnaly ,the lag is here again ,particularly when there are
>>>>>>> a lot component on the screen (Jpanel screen)
>>>>>>>
>>>>>>> indeed , I think it is not normal that we need theses options to
>>>>>>> work well ,
>>>>>>> but it seem the problem does not come from Swing package , but
>>>>>>> repaint() method in AWT package ,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2017-04-11 19:18 GMT+02:00 Sergey Bylokhov <
>>>>>>> sergey.bylokhov@oracle.com>:
>>>>>>>
>>>>>>>>
>>>>>>>> Hi ,
>>>>>>>> yes ;
>>>>>>>> with theses options it works !
>>>>>>>> but what that means ?
>>>>>>>>
>>>>>>>>
>>>>>>>> Is it works in case of any options or in some cases it does not
>>>>>>>> work? Please double check.
>>>>>>>>
>>>>>>>>
>>>>>>>> so it not a bug ?
>>>>>>>>
>>>>>>>> 2017-04-11 18:46 GMT+02:00 Sergey Bylokhov <
>>>>>>>> sergey.bylokhov@oracle.com>:
>>>>>>>>
>>>>>>>>> Hi, Patrick.
>>>>>>>>> Can you please run the code using these options:
>>>>>>>>> -Dsun.java2d.xrender=true
>>>>>>>>> -Dsun.java2d.xrender=false
>>>>>>>>> -Dsun.java2d.opengl=true
>>>>>>>>> -Dsun.java2d.opengl=false
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> After tests it seems that the problem doesn't come from Timer ,
>>>>>>>>> but
>>>>>>>>> the repaint() method ,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> even with this code the bug is here.
>>>>>>>>> the bug is on Linux.
>>>>>>>>>
>>>>>>>>> 2017-04-11 11:07 GMT+02:00 Walter Laan <WLaan@costengineering.eu>:
>>>>>>>>>
>>>>>>>>>> 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-j
>>>>>>>>>> ava-animation-with-swing where no-one experienced with Swing
>>>>>>>>>> pointed out this error L.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 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:swing-dev-bounces@openjdk.java.net] *On
>>>>>>>>>> Behalf Of *Patrick Chen
>>>>>>>>>> *Sent:* maandag 10 april 2017 12:23
>>>>>>>>>> *To:* swing-dev@openjdk.java.net
>>>>>>>>>> *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 <chen.j.patrick@gmail.com
>>>>>>>>>> >:
>>>>>>>>>>
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>

[Attachment #3 (text/html)]

<div dir="ltr">yes you are right   ,  <div>but I will see the root of the problem it \
will be better  </div><div><br></div></div><div class="gmail_extra"><br><div \
class="gmail_quote">2017-04-21 1:30 GMT+02:00 Philip Race <span dir="ltr">&lt;<a \
href="mailto:philip.race@oracle.com" \
target="_blank">philip.race@oracle.com</a>&gt;</span>:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    If appropriate conceptually (and I am not sure it is), then this<br>
    is better addressed in a more localised way in code specific to<br>
    the xrender pipeline which is the only pipeline that has this<br>
    problem .. correct ? And if it is only in this pipeline an
    investigation<br>
    into the specifics of what is different would be the place to start.<br>
    <br>
    -phil.<br>
    <br>
    On 4/20/17, 5:40 AM, Patrick Chen wrote:
    <blockquote type="cite">
      <div dir="ltr">edit : So (sorry if I repeat myseft )
        <div><br>
        </div>
        <div>what I propose :  </div>
        <div><br>
        </div>
        <div>webrev :  <a \
href="http://cr.openjdk.java.net/%7Ealexsch/chen.j.patrick/8178091/webrev.01/" \
target="_blank">http://cr.openjdk.java.net/~<wbr>alexsch/chen.j.patrick/<wbr>8178091/webrev.01/</a> \
</div>  <div><br>
        </div>
        <div>bug :  <span style="font-size:17.6px">  </span><span \
style="font-size:17.6px">JDK-8178091</span></div>  </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2017-04-20 11:37 GMT+02:00 Patrick Chen
          <span dir="ltr">&lt;<a href="mailto:chen.j.patrick@gmail.com" \
                target="_blank">chen.j.patrick@gmail.com</a>&gt;</span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex">  <div dir="ltr">Hi ,  
              <div>thank you   Alexandr !  </div>
              <div><br>
              </div>
              <div>You are right Phil , but for the moment I did a lot
                of tests , and it seems that there is no problems with
                this method ...</div>
              <div>so as the bug is only on Linux I check on the method
                if we are on linux or not , then only I sync() ,  </div>
              <div>like this , on other system ,it will use the
                asynchrone repaint() method ,  </div>
              <div><br>
              </div>
              <div>I think for the moment it is a possible way to
                correct the  <span>JDK-8178091 bug ,  </span></div>
              <div><font color="#24292e" face="-apple-system,
                  blinkmacsystemfont, segoe ui, helvetica, arial,
                  sans-serif, apple color emoji, segoe ui emoji, segoe
                  ui symbol"><span style="font-size:16px">of course , it
                    is maybe not final ,</span></font></div>
              <div><font color="#24292e" face="-apple-system,
                  blinkmacsystemfont, segoe ui, helvetica, arial,
                  sans-serif, apple color emoji, segoe ui emoji, segoe
                  ui symbol"><span style="font-size:16px">but it works
                    well.</span></font></div>
              <div><font color="#24292e" face="-apple-system,
                  blinkmacsystemfont, segoe ui, helvetica, arial,
                  sans-serif, apple color emoji, segoe ui emoji, segoe
                  ui symbol"><span style="font-size:16px"><br>
                  </span></font></div>
              <div><font color="#24292e" face="-apple-system,
                  blinkmacsystemfont, segoe ui, helvetica, arial,
                  sans-serif, apple color emoji, segoe ui emoji, segoe
                  ui symbol"><span style="font-size:16px">-Pat</span></font></div>
            </div>
            <div class="m_-2016171312742729031HOEnZb">
              <div class="m_-2016171312742729031h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">2017-04-19 18:27 GMT+02:00
                    Phil Race <span dir="ltr">&lt;<a \
href="mailto:philip.race@oracle.com" \
                target="_blank">philip.race@oracle.com</a>&gt;</span>:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex">  <div bgcolor="#FFFFFF" \
text="#000000"><span> <br>  <br>
                          <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553moz-cite-prefix">On
  04/19/2017 12:51 AM, Patrick Chen wrote:<br>
                          </div>
                          <blockquote type="cite">
                            <div dir="ltr">Ok so can you take the source
                              from the git ?</div>
                          </blockquote>
                          <br>
                        </span> Sounds the same to me as reviewing it
                        there ..<span><br>
                          <br>
                          <blockquote type="cite">
                            <div dir="ltr">
                              <div>You probably have an account in  <span \
style="font-size:12.8px">  </span><a href="http://cr.openjdk.java.net/" \
style="font-size:12.8px" target="_blank">cr.openjdk.java.net</a><span \
style="font-size:12.8px">  ,  </span></div>  <div><br>
                              </div>
                              <div><span style="font-size:12.8px"><br>
                                </span></div>
                              <div><span style="font-size:12.8px">but
                                  Another solution to fix the bug  </span><span \
                style="font-size:17.6px">8178091  </span><span \
                style="font-size:12.8px">is to write a
                                  repaint() method from Component.java  </span></div>
                              <div><span style="font-size:12.8px">(as we
                                  all know :   JPanel.java
                                  --&gt;(extends) &gt;Jcomponent.java
                                  --&gt;(extends)-&gt; Composent.java)  </span></div>
                              <div><span style="font-size:12.8px"><br>
                                </span></div>
                              <div><span style="font-size:12.8px">and
                                  the repaint() method is on
                                  Component.java   </span></div>
                              <div><span style="font-size:12.8px"><br>
                                </span></div>
                              <div><span style="font-size:12.8px"><br>
                                </span></div>
                              <div><span style="font-size:12.8px">So in
                                  JPanel.java we add a method repaint()
                                  ;</span></div>
                              <div><span style="font-size:12.8px"><br>
                                </span></div>
                              <div><span style="font-size:12.8px">public
                                  void repaint(){</span></div>
                              <div><span style="font-size:12.8px">super.repaint()
                                  ; //this call repaint() from
                                  Component.java to reproduce a simple
                                  repaint();  </span></div>
                              <div><span \
style="font-size:12.8px">Toolkit.getDefaultToolkit().sy<wbr>nc();</span><br>  </div>
                              <div><span style="font-size:12.8px">}</span></div>
                            </div>
                          </blockquote>
                          <br>
                        </span> sync sounds to me more like adding a
                        performance problem rather than fixing one.<br>
                        I&#39;d be very reluctant to accept such a change in
                        core JDK without appropriate<br>
                        performance testing across all affected
                        pipelines and platforms.<br>
                        <br>
                        And I don&#39;t think it is correct anyway. repaint
                        is asynchronous and trying<br>
                        to make it synchronous is redefining it 20 years
                        too late.<br>
                        <br>
                        But if you do it yourself in your own code that
                        is up to you ...<br>
                        <br>
                        -phil.
                        <div>
                          <div \
class="m_-2016171312742729031m_5637189673305484719h5"><br>  <br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div><span style="font-size:12.8px"><br>
                                  </span></div>
                                <div><span style="font-size:12.8px">so
                                    with this each time we call
                                    repaint() ; it call our new
                                    repaint() method with the sync();  </span></div>
                                <div><span style="font-size:12.8px">and
                                    then it works well  </span></div>
                                <div><span style="font-size:12.8px"><br>
                                  </span></div>
                                <div><span style="font-size:12.8px"><br>
                                  </span></div>
                              </div>
                              <div class="gmail_extra"><br>
                                <div class="gmail_quote">2017-04-17
                                  16:24 GMT+02:00 Philip Race <span dir="ltr">&lt;<a \
href="mailto:philip.race@oracle.com" \
                target="_blank">philip.race@oracle.com</a>&gt;</span>:<br>
                                  <blockquote class="gmail_quote" style="margin:0 0 0 \
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                    <div bgcolor="#FFFFFF" text="#000000"> Per \
openjdk rules,  we cannot review or accept webrevs
                                      hosted anywhere<br>
                                      other than <a href="http://cr.openjdk.java.net" \
target="_blank">cr.openjdk.java.net</a>  [1]<br>
                                      <br>
                                      Generally you ask someone who has
                                      a login there to do it for you<br>
                                      <br>
                                      Or you may try submitting the
                                      patch in-line to this email if it
                                      is short.<br>
                                      <br>
                                      Not an attachment. It will get
                                      stripped.<br>
                                      <br>
                                      -phil.<br>
                                      <br>
                                      [1] <a \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451moz-txt-link-freetext" \
href="http://openjdk.java.net/guide/changePlanning.html" \
target="_blank">http://openjdk.java.net/guide/<wbr>changePlanning.html</a>  <div>
                                        <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553h5"><br>  \
<br>  On 4/17/17, 3:42 AM, Patrick
                                          Chen wrote:
                                          <blockquote type="cite">
                                            <div dir="ltr"><a \
href="https://github.com/cloudStrif/webrev" \
target="_blank">https://github.com/cloudStrif/<wbr>webrev</a><br>  <div><br>
                                              </div>
                                            </div>
                                            <div class="gmail_extra"><br>
                                              <div class="gmail_quote">2017-04-17
                                                12:33 GMT+02:00 Patrick
                                                Chen <span dir="ltr">&lt;<a \
href="mailto:chen.j.patrick@gmail.com" \
                target="_blank">chen.j.patrick@gmail.com</a>&gt;</span>:<br>
                                                <blockquote class="gmail_quote" \
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  <div \
dir="ltr">so here  a webrev :  </div>
                                                  <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451HOEnZb">
                
                                                    <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451h5">
                
                                                      <div class="gmail_extra"><br>
                                                        <div \
class="gmail_quote">2017-04-12

                                                          23:41
                                                          GMT+02:00
                                                          Sergey
                                                          Bylokhov <span \
dir="ltr">&lt;<a href="mailto:sergey.bylokhov@oracle.com" \
                target="_blank">sergey.bylokhov@oracle.com</a>&gt;</span>:<br>
                                                          <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
                solid;padding-left:1ex">
                                                          <div \
style="word-wrap:break-word">  <div>(CC)
                                                          2d-dev</div>
                                                          If some of
                                                          these options
                                                          helps then
                                                          most probably
                                                          the bug is in
                                                          the Java2D
                                                          pipeline(XRender?)
                                                          and looks like
                                                          this is
                                                          duplicate of:
                                                          <div><a \
href="https://bugs.openjdk.java.net/browse/JDK-8068529" \
target="_blank">https://bugs.openjdk.java.net/<wbr>browse/JDK-8068529</a></div>  \
<div>  <div class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451m_2937220179101548331h5">
  <div><br>
                                                          <div><br>
                                                          <div>
                                                          <blockquote type="cite"><br \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451m_2937220179101548331m_838713136622556381Apple-interchange-newline">
  <div>
                                                          <div dir="ltr">
                                                          <div \
style="font-size:12.8px">OK

                                                          ,  </div>
                                                          <div \
style="font-size:12.8px">So

                                                          I did severals
                                                          tests with
                                                          theses options
                                                          with programms
                                                          using full
                                                          repaint()
                                                          method</div>
                                                          <div \
style="font-size:12.8px">,and

                                                          it still work
                                                          well,  </div>
                                                          <div \
style="font-size:12.8px">but

                                                          occasionnaly
                                                          ,the lag is
                                                          here again
                                                          ,particularly
                                                          when there are
                                                          a lot
                                                          component on
                                                          the screen
                                                          (Jpanel
                                                          screen)</div>
                                                          <div \
style="font-size:12.8px"><br>  </div>
                                                          <div \
style="font-size:12.8px">indeed

                                                          , I think it
                                                          is not normal
                                                          that we need
                                                          theses options
                                                          to work well ,</div>
                                                          <div \
style="font-size:12.8px">but

                                                          it seem the
                                                          problem does
                                                          not come from
                                                          Swing package
                                                          , but
                                                          repaint()
                                                          method in AWT
                                                          package ,</div>
                                                          </div>
                                                          <div \
                class="gmail_extra"><br>
                                                          <div \
class="gmail_quote">2017-04-12

                                                          21:26
                                                          GMT+02:00
                                                          Patrick Chen <span \
dir="ltr">&lt;<a href="mailto:chen.j.patrick@gmail.com" \
                target="_blank">chen.j.patrick@gmail.com</a>&gt;</span>:<br>
                                                          <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">  <div dir="ltr">
                                                          <div>OK ,  </div>
                                                          <div>So I did
                                                          severals tests
                                                          with theses
                                                          options with
                                                          programms
                                                          using full
                                                          repaint()
                                                          method</div>
                                                          <div>,and it
                                                          still work
                                                          well,  </div>
                                                          <div>but
                                                          occasionnaly
                                                          ,the lag is
                                                          here again
                                                          ,particularly
                                                          when there are
                                                          a lot
                                                          component on
                                                          the screen
                                                          (Jpanel
                                                          screen)</div>
                                                          <div><br>
                                                          </div>
                                                          <div>indeed ,
                                                          I think it is
                                                          not normal
                                                          that we need
                                                          theses options
                                                          to work well ,</div>
                                                          <div>but it
                                                          seem the
                                                          problem does
                                                          not come from
                                                          Swing package
                                                          , but
                                                          repaint()
                                                          method in AWT
                                                          package ,</div>
                                                          <div><br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          </div>
                                                          <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451m_2937220179101548331m_838713136622556381HOEnZb">
  <div class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451m_2937220179101548331m_838713136622556381h5">
                
                                                          <div \
                class="gmail_extra"><br>
                                                          <div \
class="gmail_quote">2017-04-11

                                                          19:18
                                                          GMT+02:00
                                                          Sergey
                                                          Bylokhov <span \
dir="ltr">&lt;<a href="mailto:sergey.bylokhov@oracle.com" \
                target="_blank">sergey.bylokhov@oracle.com</a>&gt;</span>:<br>
                                                          <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
                solid;padding-left:1ex">
                                                          <div \
style="word-wrap:break-word"><br>  <div><span>
                                                          <blockquote type="cite">
                                                          <div>
                                                          <div dir="ltr">Hi

                                                          ,  
                                                          <div>yes ;  <br>
                                                          <div>with
                                                          theses options
                                                          it works !  </div>
                                                          <div>but what
                                                          that means ?  </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          <div><br>
                                                          </div>
                                                          </span>
                                                          <div>Is it
                                                          works in case
                                                          of any options
                                                          or in some
                                                          cases it does
                                                          not work?
                                                          Please double
                                                          check.</div>
                                                          <div>
                                                          <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_7905026746724040451m_2937220179101548331m_838713136622556381m_6948471399694851929h5"><br>
                
                                                          <blockquote type="cite">
                                                          <div>
                                                          <div dir="ltr">
                                                          <div>
                                                          <div><br>
                                                          </div>
                                                          <div>so it not
                                                          a bug ?  </div>
                                                          </div>
                                                          </div>
                                                          <div \
                class="gmail_extra"><br>
                                                          <div \
class="gmail_quote">2017-04-11

                                                          18:46
                                                          GMT+02:00
                                                          Sergey
                                                          Bylokhov <span \
dir="ltr">&lt;<a href="mailto:sergey.bylokhov@oracle.com" \
                target="_blank">sergey.bylokhov@oracle.com</a>&gt;</span>:<br>
                                                          <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
                solid;padding-left:1ex">
                                                          <div \
style="word-wrap:break-word">Hi,

                                                          Patrick.
                                                          <div>Can you
                                                          please run the
                                                          code using
                                                          these options:</div>
                                                          \
                <div>-Dsun.java2d.xrender=true<br>
-Dsun.java2d.xrender=false<br>
-Dsun.java2d.opengl=true<br>
-Dsun.java2d.opengl=false</div>
                                                          <div>
                                                          <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_790502674672 \
4040451m_2937220179101548331m_838713136622556381m_6948471399694851929m_-1181147467062262085h5">
  <div><br>
                                                          </div>
                                                          <div><br>
                                                          <div>
                                                          <blockquote type="cite"><br \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_790502674672 \
4040451m_2937220179101548331m_838713136622556381m_6948471399694851929m_-1181147467062262085m_6670957414226390050Apple-interchange-newline">
  <div>
                                                          <div dir="ltr">
                                                          <div>After
                                                          tests it seems
                                                          that the
                                                          problem
                                                          doesn&#39;t come
                                                          from Timer ,
                                                          but  <br>
                                                          </div>
                                                          <div>the
                                                          repaint()
                                                          method ,  </div>
                                                          <div><br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>even with
                                                          this code the
                                                          bug is here.</div>
                                                          <div>the bug
                                                          is on Linux.</div>
                                                          </div>
                                                          <div \
                class="gmail_extra"><br>
                                                          <div \
class="gmail_quote">2017-04-11

                                                          11:07
                                                          GMT+02:00
                                                          Walter Laan <span \
dir="ltr">&lt;<a href="mailto:WLaan@costengineering.eu" \
                target="_blank">WLaan@costengineering.eu</a>&gt;</span>:<br>
                                                          <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
                solid;padding-left:1ex">
                                                          <div link="blue" \
vlink="purple" lang="NL">  <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_790502674672 \
4040451m_2937220179101548331m_838713136622556381m_6948471399694851929m_-1181147467062262085m_6670957414226390050m_6914966552159833350WordSection1">
  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">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.</span></p>
                                                          <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">  </span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">It

                                                          looks like you
                                                          adapted the
                                                          code from <a \
href="http://codereview.stackexchange.com/questions/29630/simple-java-animation-with-swing" \
target="_blank"> http://codereview.stackexchang<wbr>e.com/questions/29630/simple-j<wbr>ava-animation-with-swing</a>
  where no-one
                                                          experienced
                                                          with Swing
                                                          pointed out
                                                          this error </span><span \
style="font-size:11.0pt;font-family:Wingdings;color:#1f497d" \
lang="EN-US">L</span><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">.</span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">  </span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">Using

                                                          a
                                                          javax.swing.Timer
                                                          (not the
                                                          java.util.Timer!)
                                                          and it runs
                                                          okay (using
                                                          Win10, Java
                                                          8u101):</span></p>
                                                          <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">  </span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">      

                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">private</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">void</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> go() {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US">  </span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">              

                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">new</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> Timer(10, </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">new</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">  ActionListener()
                                                          {</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f">//

                                                          <u>Les</u> \
                <u>coordonnées</u>
                                                          <u>de</u> <u>départ</u>
                                                          <u>de</u> <u>notre</u>
                                                          <u>rond</u></span><span \
style="font-size:10.0pt;font-family:Consolas"></span></p>  <p class="MsoNormal" \
style="text-autospace:none"><span style="font-size:10pt;font-family:Consolas">        \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">private</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">int</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">x</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
= </span><span style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.getPosX(), </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">y</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
= </span><span style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.getPosY();</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Le</u> <u>booléen</u>
                                                          pour <u>savoir</u>
                                                          <u>si</u> l&#39;on
                                                          <u>recule</u>
                                                          <u>ou</u> non
                                                          <u>sur</u>
                                                          l&#39;axe x</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">private</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">boolean</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backX</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">false</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Le</u> <u>booléen</u>
                                                          pour <u>savoir</u>
                                                          <u>si</u> l&#39;on
                                                          <u>recule</u>
                                                          <u>ou</u> non
                                                          <u>sur</u>
                                                          l&#39;axe y</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">private</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">boolean</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backY</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">false</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US">  </span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#646464" \
lang="EN-US">@Override</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                      

                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">public</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">void</span></b><span style="font-size:10pt;font-family:Consolas" \
                lang="EN-US">
                                                          actionPerformed(ActionEvent
                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#6a3e3e" \
lang="EN-US">e</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US">) \
{</span><span style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  \
<p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Si</u> <u>la</u>
                                                          <u>coordonnée</u>
                                                          x est <u>inférieure</u>
                                                          Ã  1, on \
<u>avance</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">x</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
&lt; 1) {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backX</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">false</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Si</u> <u>la</u>
                                                          <u>coordonnée</u>
                                                          x est <u>supérieure</u>
                                                          Ã  <u>la</u> <u>taille</u>
                                                          <u>du</u> <u>Panneau</u>
                                                          <u>moins</u> <u>la</u>
                                                          <u>taille</u>
                                                          <u>du</u> <u>rond</u>,
                                                          on \
<u>recule</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">x</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
&gt; </span><span style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
                lang="EN-US">.getWidth() -
                                                          50) {</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backX</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">true</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Idem</u>
                                                          pour l&#39;axe \
y</span><span style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  \
<p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">y</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
&lt; 1) {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backY</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">false</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">y</span><span style="font-size:10pt;font-family:Consolas" lang="EN-US"> \
&gt; </span><span style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
                lang="EN-US">.getHeight() -
                                                          50) {</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backY</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> = </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">true</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">;</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US">  </span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Si</u> on <u>avance</u>,
                                                          on <u>incrémente</u>
                                                          <u>la</u> \
<u>coordonnée</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          backX est <u>un</u>
                                                          <u>booléen</u>,
                                                          <u>donc</u>
                                                          !backX <u>revient</u>
                                                          Ã  \
<u>écrire</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          if (backX ==
                                                          false)</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(!</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backX</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">) {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.setPosX(++</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">x</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">);</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Sinon</u>,
                                                          on \
<u>décrémente</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">else</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.setPosX(--</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">x</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">);</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          <u>Idem</u>
                                                          pour l&#39;axe \
Y</span><span style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  \
<p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">if</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">(!</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">backY</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">) {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.setPosY(++</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">y</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">);</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><b><span \
style="font-size:10.0pt;font-family:Consolas;color:#7f0055" \
lang="EN-US">else</span></b><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US"> {</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">pan</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">.setPosY(--</span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0" \
lang="EN-US">y</span><span style="font-size:10pt;font-family:Consolas" \
lang="EN-US">);</span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US"></span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10.0pt;font-family:Consolas" lang="EN-US">  </span></p>  <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#3f7f5f" lang="EN-US">//

                                                          On <u>redessine</u>
                                                          <u>notre</u> \
<u>Panneau</u></span><span style="font-size:10.0pt;font-family:Consolas" \
lang="EN-US"></span></p>  <p class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10pt;font-family:Consolas" lang="EN-US">                             \


                                                          </span><span \
style="font-size:10.0pt;font-family:Consolas;color:#0000c0">pan</span><span \
style="font-size:10pt;font-family:Consolas">.repaint();</span><span \
style="font-size:10.0pt;font-family:Consolas"></span></p>  <p class="MsoNormal" \
style="text-autospace:none"><span style="font-size:10pt;font-family:Consolas">        \


                                                          }</span><span \
style="font-size:10.0pt;font-family:Consolas"></span></p>  <p class="MsoNormal" \
style="text-autospace:none"><span style="font-size:10pt;font-family:Consolas">        \


                                                          }).start();</span><span \
style="font-size:10.0pt;font-family:Consolas"></span></p>  <p class="MsoNormal"><span \
style="font-size:10pt;font-family:Consolas">       }</span><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US"></span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">  </span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">Hope

                                                          that helps,</span></p>
                                                          <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">Walter.</span></p>  <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d" \
lang="EN-US">  </span></p>  <p class="MsoNormal"><b><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif" \
lang="EN-US">From:</span></b><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif" lang="EN-US">  \
swing-dev  [mailto:<a href="mailto:swing-dev-bounces@openjdk.java.net" \
target="_blank">swing-dev-bounces@open<wbr>jdk.java.net</a>]  <b>On Behalf
                                                          Of </b>Patrick

                                                          Chen<br>
                                                          <b>Sent:</b>
                                                          maandag 10
                                                          april 2017
                                                          12:23<br>
                                                          <b>To:</b> <a \
href="mailto:swing-dev@openjdk.java.net" \
target="_blank">swing-dev@openjdk.java.net</a><br>  <b>Subject:</b>
                                                          Re: &lt;Swing
                                                          Dev&gt;
                                                          JDK-8178091 :
                                                          Bug I will
                                                          workin on</span></p>
                                                          <div>
                                                          <div \
class="m_-2016171312742729031m_5637189673305484719m_-4968148498169643553m_790502674672 \
4040451m_2937220179101548331m_838713136622556381m_6948471399694851929m_-1181147467062262085m_6670957414226390050h5">
                
                                                          <p class="MsoNormal"><span \
lang="EN-US">  </span></p>  <div>
                                                          <p class="MsoNormal">(edit

                                                          : for example
                                                          this game
                                                          coded in java
                                                          :  <a \
href="https://github.com/cloudStrif/GoldenSunD" \
target="_blank">https://github.com/cloudStri<wbr>f/GoldenSunD</a>  will work with
                                                          java 7</p>
                                                          <div>
                                                          <p class="MsoNormal">but

                                                          clearly not
                                                          with java8
                                                          (linux 64
                                                          bits) because
                                                          of lags)</p>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          <div>
                                                          <p \
class="MsoNormal">2017-04-10

                                                          12:19
                                                          GMT+02:00
                                                          Patrick Chen
                                                          &lt;<a \
href="mailto:chen.j.patrick@gmail.com" \
target="_blank">chen.j.patrick@gmail.com</a>&gt;:</p>  <blockquote \
style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm">  <div>
                                                          <p class="MsoNormal">Hi

                                                          every one ,  </p>
                                                          <div>
                                                          <p class="MsoNormal">just

                                                          wanted to
                                                          inform that I
                                                          am working to
                                                          fix this bug.</p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">it

                                                          is when we
                                                          devellop
                                                          animations
                                                          thanks to
                                                          repaint()
                                                          method ,  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">for

                                                          java 7 it
                                                          works well  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">but

                                                          with java8 not
                                                          ,  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">(linux

                                                          64 bits it
                                                          doesn&#39;t really
                                                          work )  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">so

                                                          after watching
                                                          the source
                                                          code it seem
                                                          that it is not
                                                          a swing
                                                          problem  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">but

                                                          AWT :
                                                          Component.java
                                                          .</p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">thank

                                                          you</p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          <div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <p class="MsoNormal">  </p>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                        </div>
                                                        <br>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </blockquote>
                                              </div>
                                              <br>
                                            </div>
                                          </blockquote>
                                        </div>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                                <br>
                              </div>
                            </blockquote>
                            <br>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
  </div>

</blockquote></div><br></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic