I have been working on a graphical user interface which will display many 3D objects. These objects must be updated every 50 milliseconds, or at least, the colors of the objects need to be updated every 50 milliseconds. I have been using the graphics.fillPolygon() command to draw a few of these objects. So far, this has been working well for me, but is this an efficient way to draw graphics? Is there also a way to update only their color without telling the computer to redraw all of the polygons?
Java GUI is all that I know for drawing graphics, I will appreciate any recommendations for programming efficient graphics.
In your case Java is the perfect solution, java has very strong Graphics API for both 2D and 3D. Most of your task can be done easily.
If you are too much concerned with speed and you feel that Java is not performing very well than you will have to use C with OpenGL or GLUT. You might be thinking why I recomended OpenGL or Glut because they are written in C language and they can provide you thrilling fast speed.
But for now use Java, Java can make your work easier and it can give you good results. Java and Android are almost similar so, if you get strong Java skills you can utilize them in android as well. That is a double benefit of Java.