Netbeansプラットフォームによって作成されたスケルトンに表示されるメニューを編集する方法を知っている人はいますか?
あなたが私を助けるために費やす時間を前もって感謝します。
Netbeansプラットフォームによって作成されたスケルトンに表示されるメニューを編集する方法を知っている人はいますか?
あなたが私を助けるために費やす時間を前もって感謝します。
前文:プラットフォームに存在するメニュー項目を編集する唯一の方法は、独自のモジュールの1つを使用することです。つまり、別のモジュールのメニュー項目を削除または名前変更するには、最初にモジュールをアプリケーションに追加する必要があります。アプリケーション自体はモジュールではなく、モジュールの(潜在的な)コレクションです。
NBプラットフォームベースのアプリケーションのメニューを編集する最も簡単な方法は次のとおりです。
Important Files
ノードを展開しますXML Layer
します(モジュールにレイヤーファイルがあると仮定します¹)This layer in context
ノードを展開しますMenu Bar
ノードを展開しますDelete
これにより、必要なエントリがモジュールレイヤーファイルに追加され(_hiddenエントリ)、このモジュールがロードされている限り、これらのメニューとメニュー項目はロードされません。将来アイテムを復元する場合は、レイヤーファイルからエントリを削除するか、アイテムを右クリックして[]を選択しますRestore
。
編集
メニュー項目の名前を変更する方法は次のとおりです。
name
「SystemFileSystem.localizingBundle」の属性を探しますBranding...
)Resource Bundles
タブを選択しますメニュー項目の名前は、このバンドルのノードにあります。これを編集するだけで、アプリケーションで変更されます。ここで重要なのは、メニュー項目の名前が付けられているバンドルを見つけることです。
メニュー項目のアクションを置き換える方法は次のとおりです。
originalFile
値を検索(Ctrl + F)します(.instance
宣言のみを検索します)²delegate
して、このメニュー項目に使用されるアクションを再定義できますここでのポイントは、レイヤーファイル内のメニュー項目のアクション定義をオーバーライドして、アクションを独自のものに置き換えることです。この手法を使用してアクションの表示名を上書きすることもできますが、アクションを置き換える必要がない場合は、ブランディング手法の方が簡単です。
¹モジュールにレイヤーファイルがない場合は、この手法を使用する前にレイヤーファイルを作成する必要があります。layer.xml
これには、モジュールのパッケージの1つにファイルを作成する必要があります。次に、以下を使用して、このファイルをモジュールマニフェストファイルに登録する必要があります。OpenIDE-Module-Layer: com/example/mymodule/layer.xml
²この手順.instance
では、属性の値の名前を強調表示してoriginalValue
Ctrl + Fを押すことができます。たとえば、originalValue
属性の値がであるActions/Window/org-netbeans-core-windows-actions-RecentViewListAction.instance
場合は、パーツのみを強調表示しますorg-netbeans-core-windows-actions-RecentViewListAction.instance
。ここでのポイントは、アクションが定義されている場所を見つけることです(レイヤーファイルのこの部分は、メニューにアクションを追加するだけです)。
上でうまく説明したことに加えて、XMLファイルの内容を見なくても独自のグローバルメニュー項目を追加する簡単なトリックがあります。
PS:メニューバーの場合と同じように、ツールバーにカテゴリを追加することもできます。ありがとうございました
正確に何をしたいかはわかりませんが、通常、layer.xmlファイルがそのような変更を行う場所です。