A gourad-shaded triangle, then.
I'm not aware of any utility class in the java2d library that does gouraud-shading based on 3 non-collinear points. So if you're planning on sticking with java2D to do your shading, then the most straightforward way would be to either:
1. Extend the Paint and PaintContext interfaces with your own GouraudShading class that draws a pixel with a certain color based on the distance between 3 (or more) points. This should be somewhat similar to the method used by java2D's GradientPaint.
2. Forget about extending interfaces in the java2D library and build your own scan-converter/rasterizer that colors a pixel with a certain color based on the distance between 3 or more points. There should be lots of tutorials on the web that shows you how to perform scan-conversion of triangles if you're unsure how.
Are you doing real-time 3D? I recommend you take a look at other user-made OpenGL-based libraries like JOGL or LWJGL or Xith3D. Java2D's no good for that kind of thing (hence "java2D").