Point (50,50) is inside the polygon p = ((0,100), (100,100), 100,60), (50,0)). Unfortunately, some Java implementations do not know it.
p.inside(50,50) may be false due to a bug in updateBounds().
updateBounds() is called in method g() of the following applet, but not in method f().

(YOU CANNOT SEE A JAVA APPLET HERE)

Polybug.java

Workaround: reconstruct the polygon after the last addPoint:

p = new Polygon(p.xpoints, p.ypoints, p.npoints);