Paint bugs with JTable and JList in Java application (Sun JDK 1.5) when scrolling up

Discussion in 'General Questions' started by klehmann, Dec 2, 2007.

  1. klehmann

    klehmann Bit poster

    Messages:
    2
    I'm using a Java application in a bootcamp WindowsXP installation (JDK 1.5.0_13). In JTable and JList components of the application, the components are not painted properly when scrolling up. You only get duplicated lines and cannot see the contents any more. Scrolling down works without problems.
    Do you have any experience with this bug? It does not occur in a normal Windows system, only inside the Parallels emulation (full screen, window, coherence), tested with build 5162, 5540 and 5570.
    Seems to be a problem between the display driver and the Sun JDK draw routine. It does not happen on other components inside a JScrollPane. And using the IBM JDK, there is no draw error.
     
  2. mfkilgore

    mfkilgore Member

    Messages:
    26
    I can confirm the same problem

    With the same releases and exactly the same scroll up painting issue, has anyone tried java 6 would that correct the problem
     
  3. klehmann

    klehmann Bit poster

    Messages:
    2
    Workaround

    Hi!

    In Java 6 you get other painting bugs (e.g. black backgrounds in PNG images).

    The problem can be worked around by setting two Java environment variables:

    System.setProperty("sun.java2d.noddraw", "true");
    System.setProperty("sun.java2d.d3d", "false");

    That disables using DirectX for Java painting. Of course, it does not really solve the problem and it slows down the painting process.
    I doubt that anybody from Parallels is going to address this bug, because I did not receive any answer to my posting. So using the Java settings seems to be the only solution.

    Did not have time to test with VMWare Fusion. Maybe this is another "workaround" ;-)
     
  4. mfkilgore

    mfkilgore Member

    Messages:
    26
    Workaround works, thank you

    All I had to do is figure out how to set those parameters in a .jnlp file and the problem, for now has gone away. Of course it will even better when this is fixed in Parallels itself but for now I am working.

    Thanks again!
     

Share This Page