That's a tall order! I'll mention a few I'm familiar with.
The commonly used Java libraries are JFreeChart (probably the one most widely used), JChart2D and OpenChart2D. They all support the chart types you mention.
The usual way of using these would be to have them generate images in a servlet which then get served to the browser, either directly, or by saving the image to a file first. For JFreeChart in particular a JSP tag library is available (called "cewolf") that makes it easy to embed charts into web pages. Being libraries, these could also be embedded into applets.
Since they all create images on the server, no cross-browser issues arise.
For a leighter-weight solution, have a look at the Google Chart API or a Java servlet implementation of it called Eastwood. Those aren't very configurable in terms of fonts etc., though.
I can't speak to GWT integration because I'm not sure what you mean by that.