- Compiler
- The compiler gets confused about the
files that have to be compiled and you end up with
mish mash of old and new class files. Delete old
class files before recompiling to ensure everything
is built.
- CardLayout
- Unreliable in Sunos versions of netscape navigators.
- FontMetrics
- Height returned is twice the actual height on Sunos versions of
netscape navigators.
- minimimSize preferredSize
- Unless this method is provided by your component, the documented
behaviour is to return the current size! If you write a layout manager,
it can not rely upon
minimumSize()
to actually return
the minimum size of the component and must ignore it.
- List
- repainting of background behing pull down lists broken in
appletviewer for NT
- createImage
- Not guaranteed to return meaningful object until a peer has
been created, i.e. after component has been added to a container.
As a result offscreen images must be created in the
addNotify()
method.
- Threads
- on fast proceessor machines, threads don't sleep for as
long as they should. In fact Threads are hopeless.
- CropImageFilter
- Extremely slow on unix. Can take 1.5 seconds per crop.
Quicker to copy an entire bitmap, after setting the clipping
rectangle rather than crop.
- Reading from alien files
- Depending on the endianness of the machine that wrote the file, the order
of the bytes could be really mucked up. Problem is that
RandomAccessFile
has no facility for swapping bytes as
they are read and you can't modify behaviour of the read functions
in subclasses as they are all final methods. Check my comms section for
a workaround
- No sets, binary trees or sorting
- Essential in any serious development language, but missing in Java
- Architecture independence
- OK, so this is more of a gripe rather than a bug, theres not enough
publically available ports of the java JDK to allow it to be called
independant of architecture, the Sun implementation of Java
runs only on Solaris and WindowsNT.
On the other hand, using an
undocumented feature of the browser by Netscape,
you can compile java on virtually any operating system
- Inadequate graphics
-
AWT
is hardly what I would call graphics.
Still you can do simple things with it, but not much more
without hitting performance problems. Sun are rumoured to be working
on the graphics for a future release of the JDK.
- Microsoft® Internet Explorer
-
Does not support the
archive
parameter to the
<applet>
tag.
The archive parameter specifies the name of a zip file
that contains class files. the zip archive must not
use any compression or the applet will not work.
<applet archive=myarchive.zip name=myclass.class .... >
|
- Netscape Navigator
-
Does not support the parameter name
cabbase
within
an <applet>
tag.
The cabbase parameter specifies the name of a cab file
that contains class files. the cab archive is the
Microsoft® Cabinet format
and is compressed.
<applet name=myclass.class .... >
<param name="cabbase" value="mycabfile.cab" >
|
- Development environment
-
Java workshop makes use of Suns own Hot java browser, which
is entirely written in java. there are some problems with this
- It's old and looks it
- The browser still implements version 1 of HTML and does
not have support for tables or frames.
- No JIT capability is provided.
- It's editor, when you find it, is basic and unusable.
- the interface model centres on web browsing, not
application development.
- It bears no similarity to existing visual development environments.
- Beta quality. A simple task of saving a file caused an exception
that hung the hot java browser.