Aktions ins Package Contextmenü hängen

Alles was NetBeans erweitert

Moderator: wegus

Antworten
Dresha
Beiträge: 2
Registriert: 11.06.2010, 10:16

Aktions ins Package Contextmenü hängen

Beitrag von Dresha » 07.09.2010, 09:17

Hi,
ich hab über die Suche leider kein Thema gefunden und auch so auf meinen such durchs internet nichts gefunden.
Wie kann ich Aktionen ins Contextmenü von java Packages hängen vom Projekt Explorer in Netbeans?

Vielleicht hab ich auch unter den falschen Suchwörtern gesucht. Hinweise wären mir sehr lieb. DANKE!

Benutzeravatar
arittner
Beiträge: 3229
Registriert: 05.08.2008, 07:20
Wohnort: Südniedersachsen
Kontaktdaten:

Re: Aktions ins Package Contextmenü hängen

Beitrag von arittner » 07.09.2010, 11:48

Moin!

Dieses Dokument: http://bits.netbeans.org/dev/javadoc/layers.html gibt eine Übersicht über alle deklarativen Registrierungen. Du musst Dich auch die JavaSE Dinge einschießen.

Hier ein Beispiel aus der Doku:
Providers of generic project actions can register Action and JSeparator instances in a special folder Projects/Actions/. So if any module wishes to extend, hide or reorder some of them it can just register its actions there. Example:

Code: Alles auswählen

    <folder name="Projects" >
        <folder name="Actions" >
            <file name="org-mymodule-MyAction.instance" >
                <attr name="instanceCreate" stringvalue="org.mymodule.MyAction" />
            </file>
        </folder>
    </folder>
Dabei sollte es eine Context-Action sein, z.B. NodeAction. Außerdem musst Du darauf achten, dass Du wirklich auf Paket-Ebene bist, dafür fragst Du das (oder mehrere) Node(s) bei Aufruf der enable Methode (die Du überschreiben musst) ab, ob die Lookups der Nodes wirklich ein "Package-Objekt" enthalten.

Ich weiß gerade aber selber nicht, wass für ein Class-Type das ist. Also schreibst Du erstmal eine Dummy-Action, die das Lookup komplett ausliest:

Code: Alles auswählen

performAction(Node[] activatedNodes) {
  for (Node node : activatedNodes) {
    for (Object o : node.getLookup().lookupAll (Object.class) ) {
      System.out.println (o.getClass.getName() + ": " + o);
    }
  }
}
Wenn einer der Class-Types namentlich zu passen scheint, such per Google die API (JavaDoc) dazu und versuch damit Dein Glück ;-)

Ich habe noch ein FAQ gefunden: http://wiki.netbeans.org/DevFaqActionAd ... tTypePopUp

Beste Grüße,
Josch.
JNBB/BeanDev-Blog | Twitter@beandev
Bild
Sun Certified Specialist for NetBeans IDE

Antworten