This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: AWT


Tom Tromey wrote:
> 
> >>>>> "Nathan" == Nathan Meyers <nmeyers@teleport.com> writes:
> 
> Nathan> I really wonder about this reason. It seems to me that raw
> Nathan> native windows instead of platform-specific GUIs could have
> Nathan> enabled an awfully good cross-platform toolkit without too
> Nathan> many constraints (was the market really screaming for the
> Nathan> glass pane?). Instead, Sun opted for a no-constraints design
> Nathan> that rules out native-window implementation on any platform.
> 
> Interestingly, Tk made exactly the opposite decision: for non-Unix
> ports they had a rendering layer which did everything "by hand" on one
> big window.  They later changed to using native widgets in order to
> more easily get native look-and-feel.  This looks like more of a pain
> to implement (there seem to be many subtle differences between X and
> Windows, not to mention the gross differences), but it has a nicer
> feel and (for Tk anyway) better performance.  Of course the situations
> are probably not exactly analogous.
> 
> Tom

So I guess I get to reveal some pitiful ignorance of Windows programming
here. I'm under the impression that it's possible in Windows to create a
completely plain subwindow within a parent window: no decorations, no
menus, no border, no semantics - just a plain window in which the
application can own the rendering of every pixel, can own the size,
placement, visibility and stacking order within the parent window, and
can interact with the input devices. With this capability, you could
design almost any heavyweight GUI you want (restricted to opaque
rectangular windows, which isn't fatal) without using native GUI
components. Is my impression incorrect -- is this not possible?

Nathan

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]