How do I display different groups of properties on buttons in the property sheet the way Matisse does?

Apache NetBeans Wiki Index

Note: These pages are being reviewed.

This is only really useful if you have a lot of properties - and having lots of properties is usually not a great idea, as the user has to search for the things they want to change.

Nonetheless, if you want to group different sets of properties on different buttons, it is quite simple. Node.PropertySet extends java.beans.FeatureDescriptor. It inherits the methods putValue (key, value) and getValue(key, value) which allow you to add ad-hoc key/value pairs to any PropertySet. What you do is pass a String with the text that should be on the button, assigned to the key "tabName":

somePropertySet.putValue ("tabName", NbBundle.getMessage (getClass(), "KEY_Something"));

(the above code gets you a localized string - you can also pass a hard-coded one if you are sure your UI will never need to be translated).

All `PropertySet`s that have the same value will be included under the same button/tab in the property sheet.