Re: [sdljava-users] Can AWT/Swing widgets be used inside or alongside sdlsurface?
Status: Beta
Brought to you by:
ivan_ganza
From: Sannie K. <sa...@in...> - 2005-02-24 00:02:14
|
Sannie Kwakman wrote: > Chris Dennett wrote: > >> Chris Dennett wrote: >> >>> Chris Dennett wrote: >>> >>>> Sannie Kwakman wrote: >>>> >>>>> Hi everyone! >>>>> >>>>> I'm checking out various high-speed graphics and game libraries >>>>> for use in a java based multiplayer game I'm developing. Sdljava >>>>> seems to do the trick on most requirements, but there is something >>>>> that I haven't figured out yet. At certain points in the game, >>>>> there will be several animations and sprite-movements displayed at >>>>> once, with some basic chat functionality right next to it. My >>>>> knowledge of sdljava (or SDL for that matter) is still pretty >>>>> limited, but my understanding is that I have to create a >>>>> SDLSurface for the animations and sprite movements (using openGL >>>>> or sdl_gfx). I wanted to use the standard AWT (or, if possible, >>>>> Swing) widgets for the chatinterface, which is nothing more than a >>>>> TextField and scrollable TextArea. In my tests I haven't been able >>>>> to combine a SDL_surface and AWT/Swing widgets in one window. My >>>>> approaches so far have been pretty awt-centric (trying to add a >>>>> SDLSurface to a Container/Frame/JFrame and trying to get a >>>>> AWT/Swing widget to draw on a SDLSurface) none of which were >>>>> succesfull. And because a SDLSurface creates its own window, >>>>> drawing/adding AWT widgets next to the SDLSurface don't seem to be >>>>> possible either. >>>>> >>>>> Is combining AWT/Swing with SDL graphics actually possible (and if >>>>> so, how) or are there other methods for creating a chat interface >>>>> within a surface? >>>>> >>>>> Thanks in advance! >>>>> >>>>> -- Sannie Kwakman >>>> >>>> >>>> >>>> >>>> >>>> This seems to be quite a good idea, but you can't do it using the >>>> approach you are taking. >>>> >>>> >>> Have a look at this: >>> http://java.sun.com/j2se/1.3/docs/api/java/awt/Graphics.html. If you >>> want AWT stuff in an SDLJava SDL window, you will need to extend >>> this class and implement all the abstract methods. You then have to >>> shove this into somewhere to register it as the default graphics >>> thingy, but it dosen't tell you how to do this anywhere. >>> >> Have a look at Odonata -- they are attempting to have AWT working on >> SDL, which is what you want to do. I expect they have taken the >> approach which I outlined in the previous message. See >> http://adorphuye.com/gallery/Odonata/Odonata20040816 for a >> screenshot. If you can get the source to this, then it might be >> adaptable to >> SDLJava. I think the project is also GPLed, so you can modify and >> redistribute the source if you want. >> >> I'm just trying to find the Odonata CVS so I can check out the latest >> files (I'm interested in this myself), but it may not have anonymous >> access. There was also something about AWT / Swing being OpenGL >> accelerated in the latest version of Java, so perhaps that could also >> be used? >> >> Regards, >> Chris >> > 'lo Chris, > > thanks for the reponses. I managed to download the Odonata src > (http://odonata.tangency.co.uk/files/). While scanning through them, I > got one mystery solved on how to replace Java's standard > GraphicsEnvironments. Odonata seems to do this pretty simple: > > System.setProperty("java.awt.graphicsenv","uk.co.tangency.odonata.GraphicsEnvironment"); > > > Odonata is still pretty early in development, and by the looks of it, > far from finished. In search for other methods, I found some threads > on the LWJGL forum that are discussing the awt/swing problem, and the > latest posts about it indicate that they were very close in having a > awt/swing adapter class. There was some code for it posted on the > forums, but I haven't found it in their CVS yet.Here are some related > forum threads: > http://lwjgl.org/forum/viewtopic.php?t=904&highlight=awt > http://lwjgl.org/forum/viewtopic.php?t=900&highlight=awt > > As I understand it, their approach is to use a pbuffer in which the gl > is rendered and draw the resulting pixels in a custom JComponent. > Looks like a more elegant solution to me, altough I don't know how bad > it will affect performance. > > -- Sannie > .. but it looks like pbuffer support (SDL calls it rendertarget) won't be implemented until the 1.3 release :( Or does anyone know an alternative? -- Sannie |