Something I Would Love To Do In Java
October 5, 2011 1 Comment
Java is a pretty cool language, and I think it is good for teaching the basics about programming. The following is just something I look forward to doing in future versions of Java if Object literals are added.
Here is how u define a rectangle in JavaFX using Java at the moment
Rectangle rect = new Rectangle(); rect.setFill(Color.RED); rect.setWidth(200); rect.setHeight(100); rect.setX(20.0f); rect.setY(20.0f);
Here is how I would love to be able to define it,
Rectangle rect = new Rectangle({
fill: Color.RED,
width: 200,
height: 100,
x: 20.0f,
y: 20.0f
});
I believe I have been spoiled by my usage of Javascript, and I could use other VM languages, but I think this is just fun to look at. This inherently has issues, because there would need to be to be a lot of Type Casting in order to get the variables out or to set them accordingly, because the Map passed as the argument would need to be defined as HashMap<String, Object> to ensure any value could be passed. The implementation of the Rectangle class would then need to internally map these properties to the right variables somehow.
With Collection Literals in Java 8 onwards, this all will be possible, but the other issue would be if the various UI Classes like Rectangle would be refactored to make the above code possible. I highly doubt it personally, but nothing is impossible.
I will certainly play around with this a bit later. Feel free to share your own ideas in the comments below.
As a Java lover myself, I do agree with you.. and as much as it pains me is in stuff like this that C# kicks the crap outta of java.
http://msdn.microsoft.com/en-us/library/bb384062.aspx