I spent the first half of this week in Tokyo. I had never been there before and it was an excellent time, especially getting to know local Oracle colleagues and, of course, seeing parts of the city and culture.
The main focus of my trip was to speak at Java Day Tokyo, which was on Tuesday, May 24. I participated in the keynote, where I demoed the powerful new Java 9 tools in NetBeans IDE (more...)
I recently (last week) participated in JavaCro, a great Java conference in Croatia. I have participated in that event since its inception in 2012. Here are the titles of the keynotes I presented at JavaCro over the years:
- "Unlocking the Java EE 6 Platfom" (29 - 30 May, 2012, in Tuhalj)
- "Unlocking the Java EE platform with HTML5" (3 - 5 June, 2013, in Tuhalj)
- "Consuming Java EE Backends in Desktop, Web, and Mobile (more...)
Here's what I'm working on in the context of Jigsaw, which kind of proves the awesomeness of the NetBeans APIs, since this is provided by an external NetBeans module. Take a look at the icons on the packages in the Projects window. Two of them have an unlocked lock icon ("com.wordlibrary" and "com.wordlibrary.spi") while the other two have a locked lock icon. The unlocked lock icons indicate that those packages have been (more...)
Let's modulerize the Anagram Game using Jigsaw further than we initially did, using the Services idioms that are also part of Jigsaw, discussed in the previous blog entry.
Here's the use case, i.e., a small Anagram game:
The category can be switched via the drop-down:
The point of this blog entry is that "Technical" and "Animal" are both made available via service providers, each made available by a different Jigsaw module, "org. (more...)
In the Project Jigsaw: Module System Quick-Start Guide, a section is included on Services. Idioms such as "service consumer" and "service provider" are part of the set of solutions provided by Project Jigsaw.
A full code sample is discussed in the section above, which I have successfully implemented in NetBeans IDE. Three Jigsaw modules make up the scenario—a service defined in "com.socket", a service provider defined in "org.fastsocket", and a service consumer (more...)
Now that we have gone through an absolute basic scenario, yesterday, let's go ahead and modulerize an application, using Java Jigsaw to do so.
Here's the starting point, a small Java Swing application that provides an Anagram Game, which is one of the standard Java samples that comes with NetBeans IDE:
Each Java application you create with the NetBeans JDK 9 Branch Build is a Java Jigsaw module. So, I created a new Jigsaw (more...)
I went through the first two sections of "Project Jigsaw: Module System Quick-Start Guide" in the NetBeans JDK 9 Branch Build. In the end, I had created the Greeting module, which requires the Astro module that exports the package containing the World class, used by the Main class in the Greeting module. Click to enlarge the screenshot below, to see the various details, including the "module-info.java" graph:
Right now, NetBeans does not (more...)
The series continues with a login scenario:
Here's what you get, initially the same as last time, though this time no child nodes are available. Right-clicking on the node brings up the popup menu below:
When clicking on the popup menu, the dialog below is shown:
And, finally, if, and only if "foo/bar" is the "user/password", a new first level node is created in the hierarchy, together with all the children of the (more...)