Difference between revisions of "NetBeans Tips and Tricks"
(New page: = Overview = I created this wiki page to share some of my settings, tricks, and best practices around using NetBeans to program for OpenOffice.org in Java. I would be very glad if others a...) |
(→Overview) |
||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
I created this wiki page to share some of my settings, tricks, and best practices around using NetBeans to program for OpenOffice.org in Java. | I created this wiki page to share some of my settings, tricks, and best practices around using NetBeans to program for OpenOffice.org in Java. | ||
− | + | Since I am working on the '''[[OpenOffice_NetBeans_Integration|OpenOffice.org API plug-in for NetBeans]]''', I hope to add some of the stuff here to the plug-in at one stage. Please feel free to add your own ideas. | |
− | Since I am working on the '''[[OpenOffice_NetBeans_Integration|OpenOffice.org API plug-in for NetBeans]]''', I hope to add some of the stuff | + | |
== Tips and Tricks == | == Tips and Tricks == | ||
Line 11: | Line 10: | ||
Why not make things easier using NetBeans on-bord features? | Why not make things easier using NetBeans on-bord features? | ||
− | Open | + | Open <span style="color:green">Tools->Options->Editor->Code Templates</span> and add a new template (click on "New"). I gave my template the abbreviation "ur" (as in '''U'''no'''R'''untime), but feel free to choose your own name. Then insert the following code as "Expanded Text": |
− | + | ||
− | + | X${Interface} x${Interface} = (X${Interface})UnoRuntime.queryInterface(X${Interface}.<span style="color:blue">class</span>, ${EXP leftSideType <span style="color:blue">instanceof</span>=<span style="color:red">"java.lang.Object"</span> <span style="color:blue">default</span>=<span style="color:red">"oObject"</span>}); | |
− | X | + | |
− | + | Now, when you type "ur" and expand this (by pressing <TAB>) in the Java Editor, it becomes | |
− | + | ||
− | == | + | X<span style="background-color:#6666CC;">Interface</span> x<span style="background-color:#0099FF;">Interface</span> = (X<span style="background-color:#0099FF;">Interface</span>)UnoRUntime.queryInterface(X<span style="background-color:#0099FF;">Interface</span>.<span style="color:blue">class</span>, oObject); |
− | + | ||
+ | You can type the UNO type of your choice, e.g. "Control" and every "Interface" changes accordingly. | ||
+ | After pressing return, you change to "oObject". This is also a placeholder that gets filled with some intelligence. If the line above yours contains something like "Object o = ...", "oObject" is replaced by o. |
Revision as of 12:54, 28 March 2008
Overview
I created this wiki page to share some of my settings, tricks, and best practices around using NetBeans to program for OpenOffice.org in Java. Since I am working on the OpenOffice.org API plug-in for NetBeans, I hope to add some of the stuff here to the plug-in at one stage. Please feel free to add your own ideas.
Tips and Tricks
UnoRuntime.queryInterface
Eeverybody who programs in Java for OOo stumbles upon UnoRuntime.queryInterface(). It really started annoying me, how often I had to type that even in small programs.
Why not make things easier using NetBeans on-bord features?
Open Tools->Options->Editor->Code Templates and add a new template (click on "New"). I gave my template the abbreviation "ur" (as in UnoRuntime), but feel free to choose your own name. Then insert the following code as "Expanded Text":
X${Interface} x${Interface} = (X${Interface})UnoRuntime.queryInterface(X${Interface}.class, ${EXP leftSideType instanceof="java.lang.Object" default="oObject"});
Now, when you type "ur" and expand this (by pressing <TAB>) in the Java Editor, it becomes
XInterface xInterface = (XInterface)UnoRUntime.queryInterface(XInterface.class, oObject);
You can type the UNO type of your choice, e.g. "Control" and every "Interface" changes accordingly. After pressing return, you change to "oObject". This is also a placeholder that gets filled with some intelligence. If the line above yours contains something like "Object o = ...", "oObject" is replaced by o.