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-23 23:32:16
|
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 |