Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (497)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 48
1  Discussions / General Discussions / Re: Modifying font and color on a JEditorPane on: 2011-03-02 20:50:53
Thanks for the reply, ra4king.

Unfortunately I cannot use JTextPane, because I need to use RTF as underlying format.

But I have discovered the solution. This is the source to change arbitrary text attributes on a JEditorPane.

1  
2  
3  
4  
5  
6  
StyledDocument doc = (StyledDocument)editor.getDocument();

SimpleAttributeSet atts = new SimpleAttributeSet();
StyleConstants.setUnderline( atts, true );

doc.setCharacterAttributes( editor.getSelectionStart(), editor.getSelectionEnd() - editor.getSelectionStart(), atts, false );


Now I only need a way to make the JEditorPane wrap at whitespaces rather than at any position in a word. Do you know, how to do that? JTextPane does that out of the box. And since it is nothing more than a JEditorPane extension, there must be a way.

Thanks,

Marvin
2  Discussions / General Discussions / Re: Modifying font and color on a JEditorPane on: 2011-02-20 17:23:18
Bump

Is the JEditorPane not meant for changing the font or color properties of selected text without knowing the underlying editor kit? Do I understand the component wrong?
3  Discussions / General Discussions / Modifying font and color on a JEditorPane on: 2011-02-18 23:04:04
Hi,

how can I read and write the color and font on a JEditorPane for a given selection? Currently I am using RTF content. So the underlying document is a StyledDocument and the EditorKit is an RTFEditorKit, if that helps.

I found the getFont() method on the StyledDocument, that takes an AttributeSet. But I have no idea, where to get that from. And I also need to set the font (as well as color).

Also the font looks slightly different to how the exact same RTF looked in my old VB6 application (messes up formatting through tabulators). Is there a trick to fix this?

Any help is greatly appreciated. Thanks in advance.

Marvin
4  Discussions / General Discussions / Re: Namespaces in JDOM on: 2011-02-10 12:25:52
I found the solution.

You have to add the same namespace to all the children and grandchildren of the e0 element until there is an element with a different namespace. Then JDOM will not add a namespace attribute to them.

It still looks like a bug or at least a lack of functionality, that I cannot make JDOM inherit the parent namespace automatically (change default behavior). Or I'm just blind.

Thanks anyway guys.

Marvin
5  Discussions / General Discussions / Namespaces in JDOM on: 2011-02-10 10:15:50
Hi,

I have a problem with namespaces in JDOM. To me it looks like a JDOM bug, but I'm not sure. Maybe I can workaround it on my side.

I need to add a namespace to my root element. This namespace should never occur anywhere else in the document.

See the following piece of code.
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
public static void main( String[] args ) throws Throwable
{
    org.jdom.Document doc = new org.jdom.Document();
   
    Element e0 = new Element( "e0" );
    e0.setNamespace( org.jdom.Namespace.getNamespace( "http://bla" ) );
    //e0.setNamespace( org.jdom.Namespace.getNamespace( "testns", "http://bla" ) );
   
    Element e1 = new Element( "e1" );
    e0.addContent( e1 );
    Element e2 = new Element( "e2" );
    Element e3 = new Element( "e3" );
    e2.addContent( e3 );
    e0.addContent( e2 );
   
    doc.addContent( e0 );
   
    XMLOutputter outp = new XMLOutputter();
    outp.setFormat( Format.getPrettyFormat() );
    FileOutputStream fos = new FileOutputStream( "test.xml" );
    outp.output( doc, fos );
    fos.close();
}


This results in the following XML.
1  
2  
3  
4  
5  
6  
7  
<?xml version="1.0" encoding="UTF-8"?>
<e0 xmlns="http://bla">
  <e1 xmlns="" />
  <e2 xmlns="">
    <e3 />
  </e2>
</e0>


Note the empty xmlns attributes for e1 and e2 and no such attribute for e3. Neither e1 nor e2 nor e3 should have such an attribute.

If I change the code and swap the commonted lines
e0.setNamespace( org.jdom.Namespace.getNamespace( "testns", "http://bla" ) );
to use this, I get the following XML.

1  
2  
3  
4  
5  
6  
7  
<?xml version="1.0" encoding="UTF-8"?>
<testns:e0 xmlns:testns="http://bla">
  <e1 />
  <e2>
    <e3 />
  </e2>
</testns:e0>


The empty xmlns attributes are gone. But the namespace has a prefix now, but I cannot use a prefix at that place.

Is this a bug in JDOM or can I do somethign about it?

Marvin
6  Discussions / General Discussions / Re: Set BLOB through JDBC on: 2010-11-23 10:07:22
Thanks a lot guys. Now I at least know for sure, that I am not blind Smiley.

Marvin
7  Discussions / General Discussions / Re: Set BLOB through JDBC on: 2010-11-22 16:07:37
In my case it is a file posted with a web page. But we could also say, it is an arbitrary InputStream, of which we of course don't know the size Wink.

Marvin
8  Discussions / General Discussions / Set BLOB through JDBC on: 2010-11-22 15:27:38
Hi

I want to set a blob field through JDBC and Java 1.5. I cannot currently update to Java 1.6.

The blob can be very large. Let's say, I have a 1 GB file. I cannot assume, that I have 1 GB free heap space. I want to directly stream the bytes into the blob. Hence I used setBinaryStream( 1, in, Integer.MAX_VALUE ) on the PreparedStatement. Unfortunately I have to pass the stream length to the method, because I am using Java 1.5. But this is stupid. I simply don't know the stream length. And I cannot buffer the whole stream content in memory just to get the size, since it could be too large. Passing Integer.MAX_VALUE works, but blows up the memory consumption. A have also tried -1, but this has the same effect as Integer.MAX_VALUE.

So my question is: How can I set a blob field value from an InputStream without buffering more than necessary in memory?

Thanks in advance,
Marvin
9  Discussions / General Discussions / Re: XML Parsing - The new way on: 2010-10-20 21:33:53
Unless I'm reading you wrong, you have to hard-code the depth of the elements at which you expect them?

Yes of course. It's the same with a DOM approach and JIBX should be even more hardcoded.

Of course with JDOM you can navigate to a certain subtree, get the element and then delegate further processing to some code, that doesn't know about the element's parents.
Now with my solution you navigate the the known subtree and delegate to the next handler, which doesn't need to know and cannot know anything about where the parent handler was. That's the overall point here Wink.

Personally I think part of the power of xml is having xml fragments with common handling appear at various points (and depths) within an xml tree. How does your api deal with this?

Through the deletate handlers as described in the initial posting.

It also seems that this hardcoding would add an extra maintenance burden and make things more fragile. It's a neat idea though, for certain kinds of xml it would probably simplify things quite a bit.

Well, you can always scan the whole XML data even through my API and identify an element only by it's name or maybe one parent. It's up to you. The clue in my API is, that it provides the current XML path out of the box, which you would have to code by yourself when using plain SAX. And it provides mechanisms to tue the performance (element objects, see above) and especially the delegate handlers.

Marvin
10  Discussions / General Discussions / XML Parsing - The new way on: 2010-10-20 19:10:30
Dear Community,

many of you will certainly have to deal with XML parsing here and there. Basically there are three ways of XML parsing in Java. The DOM approach, a SAX parser and byte code manipulation approaches like JIBX and such.

I definitely don't like the JIBX way. So it's out for me. JDOM is nice for some smaller XMLs, but keeps the nature of a quick'n'dirty solution for me, since it is extremely memory consuming and pushes everything to the memory and puts it into lists, etc. even the parts, that I don't need. And then accessing a child element is not even done in O(1), but O(n), since not only the names, but all the namespaces have to be compared. XML namespaces are the most useless thing in the XML world anyway. Though there will be opposing opinions.

I like the SAX parser approach. But there are two disadvantages.

1. Initializing the parser takes a lot of lines of code.
2. In the startElement() methods, etc. I have to know, where I am in the XML hierarchy to decide, what to do with a certain element.

I have written some code, that drastically simplifies the whole process. Have a look at the code here.

How does it work? Let's take a look.

Disadvantage 1 is addressed by provinding a SimpleXMLParser class, that selects a certain SAXParser (part of the JRE) and initializes it. Of course this restricts you to a single parser implementation. But hey, why do we need more, if one works just fine?

Now for disadvantage 2.

Let's say, your XML looks like this (omitting the header).
###################################
<root>
    <pats>
        <dogs>
            <dog name="Paul" />
            <dog name="Justine" />
            <dog name="Jack" />
            <dog name="Terry" />
        </dogs>
       
        <cats>
            <cat name="Muschi" />
            <cat name="Pussy" />
        </cats>
    </pats>
</root>
###################################

So to parse only the dogs out of this data, you have to write an XML handler, that checks in the startElement() method, if the current Element is a "dog" element AND it is parented by a "dogs" element AND this is in a "pats" element AND this is in a "root" element, which IS actually a root element. Ok, these checks have to be done in any case. But we can reduce the number and costs of these checks and we can reduce the necessary knowledge of the parser, that only wants to get the dogs from the XML.

So you would implement a SimpleXMLHandlerDelegate. The onElementStarted() method would look like this:
###################################
@Override
protected void onElementStarted( XMLPath path, String name, Object object, Attributes attributes ) throws SAXException
{
    // Notice, that we're querying for level 0 here!
    if ( ( path.getLevel() == 0 ) && name.equals( "dog" ) ) // This could even be skipped, if you have designed the XML yourself and know for sure, that only dog elements are in here.
    {
        System.out.println( "Found a dog called \"" + attributes.getValue( "name" ) + "\"." );
    }
}
###################################

This is everything, the dogs parser needs to do and know.

Now we need a parent handler, that navigates to the dogs and then delegates to our dogs handler. This would be a SimpleXMLHandler implementation with the onElementStarted() method as follows.
###################################
@Override
protected void onElementStarted( XMLPath path, String name, Object object, Attributes attributes ) throws SAXException
{
    if ( path.isAt( false, "root", "pats" ) && name.equals( "dogs" ) )
    {
        delegate( dogsHandler );
    }
}
###################################

Isn't this simple? We could also tune the code a little bit to ged rid of some String compares. But this needs a little more code, but it's worth it. All you have to do is overriding the getPathObject() method in our root handler as follows.
###################################
private static enum RootElements
{
    root;
}

private static enum Level1Elements
{
    pats;
}

private static enum Level2Elements
{
    dogs,
    cats,
    ;
}

@Override
protected Object getPathObject( XMLPath path, String element )
{
    if ( path.getLevel() == 0 )
    {
        try
        {
            return ( RootElements.valueOf( element ) );
        }
        catch ( Throwable t )
        {
            return ( new Object() );
        }
    }
    else if ( path.isAtByObjects( false, RootElements.root ) )
    {
        try
        {
            return ( Level1Elements.valueOf( element ) );
        }
        catch ( Throwable t )
        {
            return ( new Object() );
        }
    }
    else if ( path.isAtByObjects( false, RootElements.root, Level1Elements.pats ) )
    {
        try
        {
            return ( Level2Elements.valueOf( element ) );
        }
        catch ( Throwable t )
        {
            return ( new Object() );
        }
    }
}

@Override
protected void onElementStarted( XMLPath path, String name, Object object, Attributes attributes ) throws SAXException
{
    if ( object == Level2Elements.dogs ) // Simplified and cheaper test
    {
        delegate( dogsHandler );
    }
}
###################################


There's also a SimpleXMLWriter, that encapsulates an inverse SAX parser and lets you add elements and data in a very easy way, by simply calling the writeElement() method.

On a side note there's also a very powerful ini file parser and writer in JAGaToo. If you're interested, have a look here.


What do you think? Please add comments and critics.

Marvin
11  Discussions / General Discussions / Re: Default VM memory allocation on: 2010-10-05 16:03:04
The problem is that the garbage collector will perform horribly (for GUIs) with large heaps. Expect gc-times of more than a second. In JDK7 we will have the GarbageFirst collector, which will take care of that: it will have many 1MB heaps.

So in JDK7 the behavior described above could the done, couldn't it?

What you can do however, is setting the direct-memory-heap (NIO Buffers), to something very big. You'll be malloc-ing just like any other native application, and it won't claim any resources, not even virtual memory, as long as you haven't actually allocated your buffers.

Unfortunately in my own case I cannot do this because I need large byte arrays for performace reasons.

Marvin
12  Discussions / General Discussions / Re: File iterator on: 2010-10-05 15:57:45

Nice implementation. And nice coding style Smiley. Some spaces here and there and it is perfect Wink.

So Java 7 provides a way to to this out of the box?

Marvin
13  Discussions / General Discussions / Default VM memory allocation on: 2010-10-05 15:45:36
Hi

As you all will know the JVM allocates x MB of minimum memory and y MB of maximum memory, if no parameters are given. If the application needs more memory, a MemoryOutOfBoundsException is thrown and I have to grant the VM more max and possibly more initial memory by passing appropriate parameters.

For an applet or a web abblication this may be a good behavior. But for a desktop application noone will expect this. And it prevents me from simply doubleclicking a jar file to start my application, if it needs more memory than the default.

And if an application can perfectly run with a few MB of memory, but potentially needs way more, if large resources are loaded at runtime, I find it bad to let the JVM always take 2 GB just to make sure, that it will work in all situations, but also robbs 2 GB of my memory, even if it won't need most of it.

A normal desktop application only takes the memory, that it needs and dynamically allocates more from the system heap when it needs more. This should also be the default behavior for a Java application, if run in desktop mode and no xMx or xMs parameters are passed.

What do you think?

Marvin
14  Discussions / General Discussions / File iterator on: 2010-10-05 15:22:57
Does anyone know, why the File class doesn't provide an iterator method? To loop all the files in a folder I have to use the listFiles() method. Of course I can pass in a FileFilter. But it still seems more efficient to me, if I could get a file iterator from the folder. Theoretically for very large folders it would take a lot of memory and takes unnecessary time to allocate and fill the array. Additionally the listFiles() method first reads a full array of filenames and then derives a File array from it. This is doubly inefficient. And I guess, the code also creates something like an ArrayList, which has to recreate the uderlying array again and again when it is filled.

This is all fine, if I need the files as an array. But if I needs them in a different container or just want to loop over them, this seems to be dumb.

How can I effectively suggest this to Oracle?

Marvin
15  Discussions / General Discussions / Re: Memory leak when using GetPrimitiveArrayCritical() on: 2010-09-29 23:42:24
I think, I just got it. Adding a call to env->DeleteLocalRef( pixelData ) seems to do the trick.

Marvin
16  Discussions / General Discussions / Re: Memory leak when using GetPrimitiveArrayCritical() on: 2010-09-29 23:36:13
I should probably say, that I am using a JRE 1.6 U20 32 bit on Windows 7 64 bit.

The memory leak also occurs, if I replace the GetPrimitiveArrayCritical() with GetByteArrayElements() as well as the corresponding Release.

Marvin
17  Discussions / General Discussions / Memory leak when using GetPrimitiveArrayCritical() on: 2010-09-29 23:20:58
Hi

I am using JNI to get pixel data from an invoked JVM. Unfortunately I am facing serious memory leaks when using the following code to access my byte array.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
unsigned char* JVMD3DUpdateFunctions::getPixelData( unsigned char textureIndex )
{
    pixelData = (jarray)env->CallObjectMethod( rfdynhudObject, getPixelDataMethod, (jint)textureIndex );
   
    if ( pixelData == NULL )
    {
        logg( "ERROR: texture pixel data is null." );
        return ( false );
    }
   
   return ( (unsigned char*)env->GetPrimitiveArrayCritical( pixelData, &isCopy ) );
}

void JVMD3DUpdateFunctions::releasePixelData( unsigned char textureIndex, unsigned char* pointer )
{
    env->ReleasePrimitiveArrayCritical( pixelData, (void*)pointer, 0 );
    pixelData = NULL;
}

unsigned char* pixels = getPixelData( 0 );

// copy dirty rects

releasePixelData( 0, pixels );


I can guarantee, that no java or JNI call is made between these two calls. I have also verified, that the 'pixelData' ponter is the same in both methods.

I don't see, what I can to differently. What am I doing wrong?

Marvin
18  Discussions / General Discussions / Custom alpha blending in Direct3D on: 2010-09-11 11:33:08
Hi

I am trying to find out, how to do custom alpha blending in Direct3D. Reading the google results, this seems to be impossible. But I can't believe that, since it is very well possible in OpenGL.

I want to render a shape with a certain texture (with alpha channel) and apply an additional alpha value on it. So the texture should be drawn just as usual but with x% additional transparency.

The only way, I found, was to manipulate the vertices' color value. But this depends on locking and unlocking the vertex buffer. And since I need to do this every single frame, I want to avoid this.

Is there a way to simply set a general color value with alpha channel to render the shapes with in D3D?

Marvin
19  Discussions / General Discussions / Re: javax.mail fetching headers only and identifying mails on: 2010-09-07 00:32:29
Hehe, no time to write my own POP3 client  Grin.

Thanks a lot for the quick answer.

Marvin
20  Discussions / General Discussions / Re: Alternatives to Swing on: 2010-09-06 15:58:45
Thanks a lot, guys, for these very detailed answers.

Yes, I am looking for a cross platform library, that doesn't look the same on all platforms, but makes use of native components and hence looks like a native app with the locally selected theme or what ever.

I am not a big fan of SWT neither. It has an ugly API and doesn't work too well on Linux. I once ranted the Eclipse devs, that they don't care for Linux too much and Eclipse works a lot better on Windows. Maybe it wasn't fair, but it was  and is true.

Perfect would be something like SWT with a nice and modern API and with less platform specific bugs.

I will have a look at PureSwing. I didn't know that one.

Marvin
21  Discussions / General Discussions / javax.mail fetching headers only and identifying mails on: 2010-09-06 15:41:20
Hi,

I would like to fetch my emails through javax.mail by only reading the header fields like subject, from, to, etc. and load the contents (body and attachments) later.

For this to work I need a stable identifier for each message and attachment. I found the getContentID() method on MimeMessage and MimeBodyPart. Will these methods return the very same id for a certain message in different sessions as long as it stays on the server? Does this also work through POP3?

And folder.getMessages() returns an array or Message, but not of MimeMessage. Message doesn't have the getContentID() method. How can I make sure, that the returned messages are always MimeMessages?

Thanks,
Marvin
22  Discussions / General Discussions / Alternatives to Swing on: 2010-09-02 15:27:20
Hey,

I have googled for this a little and found results here and there, but nothing, that truely satisfies me.

I am looking for a GUI library for Java, that offers two main requirements.
1. It should have a nice and modern API design
2. It should not be implemented in software all along, but make use of platform specific native GUI calls as much as possible.

Theming is one thing, but in 99% of all cases you will want to make your application look like any other app on your platform. So a button should look like a button on KDE or Win 7 or what ever you're running the application on. So by default the GUI should look and behave like any other app on your platform and optionally and less importantly there COULD be the ability to theme it.

Controls like JTable or JTree are very powerful, but simply suck. I love the model approach and you can easily implement a default table with default renderers/editors and event handling. But when you want something more complex, it starts to stress you with unexplainable malfunction, which costs a lot of time to fix or to workaround.

A modern API should make use of enums instead of static int constants. This is much easier and intuitive to use.

Of course the API must be platform independent. So there have to be native libraries for all supported platforms, so that as much of the drawing as possible can be done by the windowing system natively. When a button is created, this shouldn't mean to let Java paint a button, that looks like a platform specific one, but this should ask the platform to create a native button. This applies to all controls, that are supported by the platform. The unsupport ones would have to be rendered in software mode. This makes sure, that the GUI is as responsive as any other app on your platform, but doesn't suffer from slower software mode.

Of course a library like this would have to replace AWT/Swing as a default in the JRE/JDK, so that all the needed natives can be shipped with it and it would be usable in an applet or Java web start.

What do you say? Is there something like this out there?

Marvin
23  Discussions / General Discussions / Re: Color mixing on: 2010-08-25 09:00:52
Cool, so you're using Direct 3D with java? Is there a new binding for that? i didn't know that one existed.

Well, I wrote my own little C++ DLL. Not a binding though, it just does' waht I need. I am working on an rFactor plugin called rfDynHUD to draw dynamic HUDs on top of rFactor. And therefore I need a little adapter DLL to invoke a JVM. Well, and rFactor uses Direct3D. So I had no choice Smiley.

I had a look around last night for a pure-java software image API but couldn't find anything that was meant for real-time. The only one I've heard of is in pulpcore (http://www.interactivepulp.com/pulpcore/).

Thank you so much man.

Marvin
24  Discussions / General Discussions / Re: Color mixing on: 2010-08-24 21:10:33
I found the solution. The math in this link is either wrong or assumes some kind of premultiplication. The correct math is this.

Ar = As + Ad * ( 1 - As )
Cr = Cs * As + Cd * Ad * ( 1 - As )

It looks perfect now.

Marvin
25  Discussions / General Discussions / Re: Color mixing on: 2010-08-24 14:05:57
Yes, originally it was for Xith3D (OpenGL). Currently I use my TextureImage2D class in another project, that uses Direct3D. I only need the byte arrays there. So I don't necessarily need my own drawing routines.

Thing is, I need to do some drawing offline and only send the result to the graphics card because Dierct3D has a very strange way to lock the texture buffer, which makes it extremely expensive. But I guess, I'm not telling you news Wink.

Marvin
26  Discussions / General Discussions / Re: Color mixing on: 2010-08-24 09:07:44
Well, the BufferedImage is actually only a special case. I have created my own image implementation, that works on a ByteBuffer or byte array. For some cases, where I need Graphics2D drawing, I create a BufferedImage backed by my bytes. For the ByteBuffer case a BufferedImage is horribly slow. So I needed my own drawing and color mixing routines, that directly manibulate the bytes in the ByteBuffer or byte array. They worked great for years. Now I did something new and discovered weaknesses in my mixing code.

Marvin
27  Discussions / General Discussions / Re: Color mixing on: 2010-08-23 23:01:35
Thanks a million. This works almost perfect. Only my fonts are messed up now. The rest looks perfect.

Strange thing ist, that the above math leads to unnormalized color components (greater than 1.0). I have clamped them to 1.0 now. But my fonts are still messed up.

I render my fonts by drawing them on a separate buffered image and then merge pixels on the destination texture (certain reason for this).

Marvin
28  Discussions / General Discussions / Re: Color mixing on: 2010-08-23 15:37:10
Thanks for the reply mate. Smiley

I am pretty sure, that this cannot work. The alpha channel of bi1 affects RGB of bi1 only. If a1 is something like 0.1 (assuming smaller means more transparent) and r1 is 1.0, then r1 would only influence the resulting color by 0.1.

Well, it might be wrong and certainly I am. But it looks strange to me.

Marvin
29  Discussions / General Discussions / Color mixing on: 2010-08-23 11:38:41
Hi

Does anyone know, how the AWT mixes two colors with alpha channel?

If I have two BufferedImages bi1 and bi2 both with an alpha channel and create a Graphics2D object on bi1 and draw bi2 on it with drawImage(), what is the way, Java mixes the two colors then?

If one of the images doesn't have an alpha channel, it's totally clear. But with both images having an alpha channel, there are different ways to go. But the way, the AWT mixes the colors, seems correct for all of my current use cases. And I would like to know, how it works.

Marvin
30  Discussions / General Discussions / Re: Execution speed - predefinition on: 2010-08-16 14:31:47
ok, thanks.

Marvin
Pages: [1] 2 3 ... 48
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

BurntPizza (26 views)
2014-09-19 03:14:18

Dwinin (40 views)
2014-09-12 09:08:26

Norakomi (70 views)
2014-09-10 13:57:51

TehJavaDev (95 views)
2014-09-10 06:39:09

Tekkerue (49 views)
2014-09-09 02:24:56

mitcheeb (70 views)
2014-09-08 06:06:29

BurntPizza (52 views)
2014-09-07 01:13:42

Longarmx (39 views)
2014-09-07 01:12:14

Longarmx (45 views)
2014-09-07 01:11:22

Longarmx (41 views)
2014-09-07 01:10:19
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!