Sorry for this very undescriptive Subject line. But my problem is just that. I have a program which uses a GUI and it usually runs fairly well on my Mac, but last night I tried running it, and it just would not go. That is, when I click a button, nothing happens, or when I try to enter text into a text field, no text appears, and the mouse icon shows that the computer is making me wait. I know the problem is not the programming itself, because it runs fine on another computer (Windows). When the computer is making me wait, does that mean that the OS is running some other thread and doesn't get around to the java thread for some reason? I thought about why the program worked before but not this time. Usually what I do is make a change to a .java file, compile it, and then test it. But this time I just ran the program without compiling anything. Does that have anything to do with program smoothness? Maybe compiling gets the computer into a java mood, and makes the part of the computer which is in charge of threads realize that this java program is very important. Do you think it would help to make a .jar file?
I suspect you just have 1) something else running on your machine that's really bashing on it (your Activity Monitor application will tell you if that's the case) or -- and this has happened to me -- 2) your hard disk is failing, and the long pauses come as the OS tries and retries reading and writing to the swap file (look in Console.app for messages about disk issues.)
If you're having disk issues, DO NOT REBOOT before trying to copy all un-backed-up data to CD or other media.
Thank you. I opened up the CPU Monitor and the Console application and tried my java program again. I assume that the CPU Monitor monitors the activity of the CPU, and that it goes up when the computer is computing something and goes down when the computer is waiting. Whenever I start an application, including my java program, it goes up. But when I get the long pauses when I am running my java program, the CPU activity is way down. It seems that for some reason, the CPU is not working at a time when it is supposed to be working. As far as the Console application, there is a lot of stuff I don't understand, but the word "disk" is not there. One time when I ran my java program, I got a java.lang.IllegalMonitorStateException thrown by Buckyball Timer. I have no idea what a buckyball timer is, or how anyone came up with such a strange name. When I'm done typing this, I'm going to look at the API and find out what the exception is all about. But I have a feeling it's thrown by the system and not by my program.