Over a million developers have joined DZone.

5 Minutes: Putting a Memory Monitor in NetBeans IDE

DZone's Guide to

5 Minutes: Putting a Memory Monitor in NetBeans IDE

· Java Zone ·
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

Let's create a memory monitor for NetBeans IDE! "Geez. A memory monitor. That sounds hard. Where would one even begin?" Well, the answer to that question is the demo/management folder in the JDK. Handily, you'll find an application there called "MemoryMonitor". So I created a new module, used the Window Component wizard to create a TopComponent (specify that it should open in the "properties" position), copied the MemoryMonitor class from the demo into my source structure, and then added these lines to the TopComponent's constructor:
MemoryMonitor demo = new MemoryMonitor();
add(demo, java.awt.BorderLayout.CENTER);
Thread thr = new Thread(new Memeater());

Plus, note that those lines actually come from the main method in the MemoryMonitor class. Since we don't need the main method anymore, we can plunder its content for whatever is relevant to us and then stick it in the TopComponent's constructor, as shown above. (You can then delete the main method, while leaving the rest of the MemoryMonitor class exactly as you found it.)

Then install the module! Before you do that, ponder this: "How much work have I actually done?" (Don't ponder too long, because the answer is that you've just done approximately 5 minutes of work and if you think about it too long you'll have spent more time thinking than working and, guess what, you could be porting another application instead.) Then... here's your new memory monitor in the IDE:

And you can detach it, of course, because of the undocking functionality of NetBeans IDE 6:

The monitor continually updates itself. How does it do that? No idea. I don't need to know that level of detail at all, unless I want to. That level of knowledge was completely irrelevant when porting the application to NetBeans IDE. I can be "clueless" about everything except for the tiny part of the module which concerns the integration with the NetBeans Platform. And all of that part was driven by a wizard. Now, let's see what other cool applications reside in the JDK's demo and sample folders...


Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}