Diese Lerneinheit führt Sie durch die Schritte zum Erstellen der Java™ -Klasse, die für die Verarbeitung des angepassten geöffneten Menüs erforderlich ist.
Informationen zu dieser Task
Das Menü, das Sie erstellen, besteht aus Aktionen, Trennlinien und Aktionsgruppen, die eine kleinere Gruppe aus Aktionen enthalten. In dieser Übung erstellen Sie die Klasse MainActionGroup als Grundlage für das Menü. Außerdem erstellen Sie eine weitere Klasse mit dem Namen OpenActionGroup, von der die Standardoption für Menüs zum Öffnen überschrieben wird.Gehen Sie wie folgt vor, um diese Klassen zu erstellen:
Prozedur
- Sie beginnen mit der Klasse
OpenActionGroup , da die Klasse MainActionGroup eine angepasste offene Gruppe benötigt. Klicken Sie in der Ansicht Paketexplorer mit der rechten Maustaste auf dascom.ibm.carma.plugin.view Eclipse -Plug-in-Projekt, das Sie in Übung 5 geändert haben, und wählen Sie Neu > Paketaus.
- Geben Sie im Dialogfenster Neues Java-Paket , das geöffnet wird,
menuals Namen des Pakets ein und klicken Sie auf Fertigstellen.
- Erstellen Sie jetzt die Java-Klasse. Klicken Sie mit der rechten Maustaste auf das Paket
menu und wählen Sie Neu > Klasseaus. Das Dialogfenster Neue Java-Klasse wird geöffnet.
- Geben Sie CustomOpenActionGroup als Namen der Klasse ein.
- Klicken Sie auf die Schaltfläche Durchsuchen rechts neben dem Textfeld Superklasse . Geben Sie im Dialogfenster Superklassenauswahl, das daraufhin geöffnet wird, den Filtertext OpenActionGroup ein. Wählen Sie die Klasse aus, die Teil des Pakets
com.ibm.carma.ui.view ist, und klicken Sie auf OK.
- Klicken Sie auf Fertigstellen , um das Dialogfeld Neue Java-Klasse zu schließen und die Klasse zu erstellen.
- Sie möchten die Methode
fillContextMenu überschreiben, um den angepassten Inhalt des geöffneten Abschnitts des Menüs bereitzustellen. Für den Abschnitt zum Öffnen im Menü dürfen Sie bis auf die Menüoptionen Öffnen und Öffnen mit jede Option anzeigen. Die einfachste Möglichkeit, dies zu tun, besteht darin, den Standardwert aus dem Abschnitt OpenActionGroup abzurufen und die Menüoptionen Öffnen und Öffnen mit zu entfernen.Am folgenden Pseudocode wird dies veranschaulicht:
get the default items;
for each item
{
if(item is open or open with)
{
remove it from the list;
}
}
Mithilfe des folgenden Beispielcodes kann diese Funktionalität implementiert werden:
public void fillContextMenu(IMenuManager menu)
{
super.fillContextMenu(menu);
IContributionItem[] myItems = menu.getItems();
for(int i = 0; i < myItems.length; i++)
{
IContributionItem item = myItems[i];
if(item.getId() != null)
{
if(item.getId().equals(OpenAction.ID) || item.getId().equals("com.ibm.carma.ui.openWithSubMenu"))
{
menu.remove(item);
}
}
}
}
- Importieren Sie automatisch alle erforderlichen Pakete und Klassen. Stellen Sie sicher, dass alle nachfolgend aufgeführten importiert werden:
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import com.ibm.carma.ui.action.OpenAction;
import com.ibm.carma.ui.view.OpenActionGroup;
- Speichern Sie die Quelle und korrigieren Sie alle Fehler.