Solved

Java program refresh and repaint problems on Windows7 64bit using Multiple Displays

Posted on 2010-11-16
5
1,691 Views
Last Modified: 2012-06-22
Since switching to Windows7 64 Bit OS our Java program does not always refresh correctly on the second monitor of our two monitor workstations.  Periodically, some of the dialogs of our program either come up completely black, or come up correct but then don’t redraw correctly after showing the desktop.  By not showing correctly I mean that the dialog seems to start to redraw and seems to get interrupted leaving other parts of the same dialog drawn on unrelated parts of the dialog.  The most dependable way to get this to happen is to show the desktop, and then restore one of the dialogs on the second monitor, Aero Peek another dialog (either on the first or second monitor, doesn’t matter), and then select that other dialog to restore it.  This usually causes the redraw problem with the dialog that was restored first on the second monitor.  This never happened in XP, but we always used “Span Desktop” across the two monitors.  Now in Windows7 the only choice we have is to “Extend” the desktop onto the second monitor.  I was told by one of our developers that he saw many of the same problems on XP when trying to Extend rather than Span the desktop.  Our program is compiled with JDK1.6_20 (64bit).  I’m trying to find out if I can do anything programmatically or with configuration to correct the issue when “Extending” the desktop onto a second monitor unless there is a way to get Span Desktop back in Windows7.

Additional Information:   I found that if I mark the right most monitor as the “Main Display” that the redraw problem seemed to go away for almost all of our workstations.  Since making that change I have only seen the redraw problem on one workstation that has an upgraded video card from the one that came with the workstation.  I did notice that by making the right most display the “Main Display” that any dialog on the left monitor now shows an X value location of negative, zero being the left edge of the right most monitor.  I don’t know if this has anything to do with the problem, however when the left most display was the “Main Display” the X value location of the right most monitor was very high (above the range of the resolution of the left most monitor).  This may have been causing some problems for Windows, the video card driver, or Java.  I don’t know.  The problem is still not solved.  I might have a workaround for most workstations, but I would still like to find out a solution for all workstations.
0
Comment
Question by:Temple22
  • 2
5 Comments
 
LVL 17

Expert Comment

by:Thomas4019
ID: 34171259
Sounds like either a graphics card issue or poor coding. I would try updating the graphics cards.
0
 

Author Comment

by:Temple22
ID: 34173917
I did try a higher end graphics card, and updated video drivers for Windows7 64 Bit.  Neither fixed the problem.
0
 
LVL 17

Accepted Solution

by:
Thomas4019 earned 500 total points
ID: 34174790
You could add a forced repaint every second to make sure it doesn't stay corrupted. Also I would double buffer your program if it isn't currently.
0
 
LVL 13

Expert Comment

by:compfixer101
ID: 34367607
This question has been classified as abandoned and is being closed as part of the Cleanup Program.  See my comment at the end of the question for more details.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Article by: Lee
Windows 7 Ultimate and Enterprise (and 2008 R2) introduced a new feature you may not be aware of - Boot from VHD.   Boot from VHD (or what Microsoft refers to asNative Boot allows you to install Windows to a VHD (Virtual Hard Disk) file that is t…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
This Micro Tutorial will give you a basic overview of Windows Live Photo Gallery and show you various editing filters and touches to photos you can apply. This will be demonstrated using Windows Live Photo Gallery on Windows 7 operating system.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now