New Year, new Trainers

04. Januar 2012

Happy new year! In 2012 we’ll offer a couple of new courses with excellent trainers. We’ve just put up a website for one of our new trainings in 2012:  www.javaeetraining.de.

So welcome aboard Java Champion Antonio Goncalves, leader of the Paris-JUG, Co-Organizer of Devoxx France, JCP Expert Group Member and author of popular Java EE books! We’re happy to host his 3-day course “Java EE 6″ in Munich, Germany. So if you’re eager to learn something new in 2012, be sure to check out our catalogue.

..and stay tuned for my next announcement! We’ve got many more new trainings for you.

JAX 2012 anyone?

29. November 2011

Anyone going to JAX in Mainz, April 16-20? I wanted to go to this conference for a long time. It’s excellent from what I hear, and it’s in Germany. Here’s the link: http://jax.de/2012. This year I submitted an abstract for a talk, and just received the confirmation. The talk is “Manage Desktop Complexity

If you’re there and want to meet, let ke know!

Quick Tip 49: Download NetBeans 7.1 Beta

03. Oktober 2011

It’s here:

http://netbeans.org/community/releases/71/

Quick Tip 48: Single selection in OutlineView

26. September 2011

Like most OutlineView settings, this is not done on OutlineView directly, but on the Outline Component:

Outline outline = outlineView.getOutline();
outline.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

Quick Tip 47: Change the Log Level

24. September 2011

To change the Log Level in your application during development add this to your project.properties:

run.args.extra=-J-Dorg.netbeans.level=WARNING

Or another java.util.logging.Level (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST)

If you want to do it for a specific Logger:

run.args.extra=-J-Dname.of.my.logger.level=FINEST

Make sure you don’t forget the “.level”.

To change the log level in the deployed application, you can set the same properties via your applications .conf file, e.g:

default_options=”–branding myapp -J-Xms24m -J-Xmx64m -J-Dname.of.my.logger.level=FINEST

Is Duke suffering from Bulimia?

24. Juni 2011

a while ago it seemed that Duke was getting fat and lazy, so the Java community started pushing him to work out:

Well, it seems we overdid it… When I met Duke at Jazoon this week I was shocked. Instead of the chubby, good-natured being we know and love, I was facing this odd, shark-shaped shadow of his former self:

Jazoon 2011

Not sure wether he’s bulimic or sick, but he definitely didn’t seem to be very healthy. I was too appalled to say something to him, so I tried to put a good face on the matter, but I think we definitely need to do something about it…

Here are some additional shots to prove his unnatural transformation:

Duke bulimic

Advanced Usage of Annotations via JSR 269

31. Mai 2011

…is the title of Jaroslav Tulach‘s talk at the NetBeans Day in Munich. Did you try out the ActionID Annotation in NB Platform already? Maybe the title should be “Java Annotation Magick” ( extra “k” is intentional ;-) ).

NetBeans Platform Training in San Francisco

30. Mai 2011

Again, right after JavaONE, Geertjan and I will run a NetBeans Platform Certified Training. Last year was great, and this year we’ll even have Air Condition ;-) . Looking forward to meet you there!

http://marakana.com/training/java/netbeans_platform_certified.html

Performance Tuning in Munich… and everywhere

05. Mai 2011

Summer is coming, and at Eppleton we’re preparing for the launch of our new online training site. Right now we’re preparing everything for the upcoming training with Kirk Pepperdine in Munich next month “Become Proficient in Java Performance Tuning with Kirk Pepperdine” (June 14th-17th).

“This comprehensive four day workshop will provide you with techniques that have been proven to improve your ability to find and fix performance bottlenecks. What you won’t find are tips and tricks that will be obsoleted with the next release of Java. Instead the course focuses on a methodology that has evolved from years of experience solving performance problems found in a variety of languages running on number of different execution platforms. During the course of the seminar we will look at how Java works, tooling to expose performance bottlenecks and a methodology that helps you to decide on which tools should be used. The workshop contains more than a dozen exercises each taken from real world problems and each designed to challenge your thinking.”

This will also the first time we’ll be offering our training via BigBlueButton, the Open Source Web Conferencing platform. If you want to join us in Munich you can register here. In case you have specific questons, or you want to participate via our virtual classroom from your site please contact us directly.

NetBeans Day in Munich, June 18th

Kirk will also stay in Munich for our NetBeans Day on June 18th organized by the XING NetBeans User Group together with Eppleton. He’ll talk about performance tuning with NetBeans and extending VisualVM. Oracle Developer of the Year Adam Bien will do some live hacking showing real world Java EE 6. And, of course, we’ll have plenty of news about the NetBeans Platform as well. So, if you’re in Munich on June 18, come to this free community event to meet your peers offline and learn exciting new things about our favorite IDE and Java desktop application framework!

You can already preregister for the event here. Stay tuned for more information and a detailed schedule.

What are PropertyPanels meant for?

07. März 2011

A while ago, I did a presentation on Explorer Views, the Swing components used to display Node hierarchies. After the talk, Jarda asked me why I didn’t show PropertyPanel. PropertyPanles are “generic GUI component for displaying and editing a JavaBeans™ property or any compatible getter/setter pair for which there is a property editor available”. He told me that they might be used to create forms composed of individual PropertyPanels. I like the idea of having components for editing Properties that don’t require you to do the event handling or data binding, but I’m not sure how to use those PropertyPanels correctly:

Nodes expose Properties of a data object and the Properties View listens for Nodes to display the properties. A generic way of manipulating objects, wonderful… from a developer perspective. Unfortunately end users tend to think that PropertySheets are ugly and hard to use. They prefer nicely designed forms. So in addition to our properties, how do we add a nice form?

Why not use PropertyPanels to design it? The JavaDoc says: “A more efficient approach is to implement Node.Property or pass an existing Node.Property object to the PropertyPanel’s constructor or PropertyPanel.setProperty – thus bypassing the use of reflection to locate the getter and setter.” The problem is, when all I’ve got is a node andI want to design a form with a subset of the Nodes Properties in a specific order, how do I get hold of them?

When I’m in charge of designing the node I might create a named Set for the Form and display all it’s Properties. This way I can control what is displayed. The problem is, that I cannot manually design a Swing form with such a generic approach, because the number and order of properties might change. So I’m again back to a generic ugly Property Sheet.

I could also iterate over the set and get hold of each individual Property I’m interested in by Property name. In combination with BeanNode that’s really simple, except for the ugly loop over the Properties. But there’s nothing to make sure that my properties are really there. Defining their names as static Strings helps a bit, but Properties can still removed or renamed with the Strings left behind.

So should I implement  the Properties in my form (or go for PropertySupport.Reflection) and pass the resulting instance to the PropertyPanel constructor? Then I might end up with two sets of properties, one created by the Node, one by the Form and I don’t think that synchronization with the Property Sheet works with that approach(?).

So in the end I might decide to  to create a MyDataObjectpropertiesProvider to give me methods for accessing the individual Properties and put it in my Nodes lookup. But I’m not sure if the benefits of the PropertyPanel will justify the additional complexity. I guess then I’d rather go for a binding framework like JGoodies instead, which gives me a lot of freedom in designing my form and when to commit the changes.

What do you think?