2012-05-02 17 views
5

Qualcuno sa come modificare i menu mostrati nella scheletro creata dalla piattaforma Netbeans?Piattaforma e menu Netbeans

Grazie in anticipo per il tempo che trascorrerai cercando di aiutarmi.

+0

Intendevi esempi di forme GUI? –

risposta

11

Preambolo: l'unico modo per modificare le voci di menu presenti nella piattaforma è attraverso uno dei propri moduli. Ciò significa che, per rimuovere o rinominare una voce di menu in un altro modulo, devi prima aggiungere un modulo alla tua applicazione. La tua applicazione non è di per sé un modulo ma una (potenziale) raccolta di moduli.

Il modo più semplice per modificare i menu per un'applicazione basata NB piattaforma è il seguente:

  1. In uno dei moduli, espandere il Important Files nodo
  2. Il nodo XML Layer (assumendo che il modulo ha uno strato file¹)
  3. Espandere il nodo This layer in context
  4. il nodo Menu Bar
  5. Fare clic destro su qualsiasi menu (nodo della cartella) o una voce di menu (nodo del file) e selezionare Delete

Questo aggiungerà le voci necessarie per i moduli strato file (ingresso _hidden) e fintanto che questo modulo è caricato questi i menu e le voci di menu non verranno caricati. Se si desidera ripristinare un elemento in futuro, è possibile rimuovere la voce dal file layer o fare clic con il tasto destro del mouse sull'elemento e selezionare Restore.

Modifica

Ecco un metodo per rinominare una voce di menu:

  1. Utilizzando la tecnica di cui sopra per trovare la voce che si desidera rinominare
  2. fare clic destro del mouse sul nodo e selezionare "Vai a Dichiarazione "
  3. Cercare l'attributo con un name di" SystemFileSystem.localizingBundle "
  4. O penna l'interfaccia di branding dell'applicazione (tasto destro sul nodo dell'applicazione e selezionare Branding...)
  5. Scegliere la scheda Resource Bundles
  6. Cercare il nodo Bundle che ha il valore trovato nel passaggio 3

Il nome del la voce di menu si troverà nel nodo di questo Bundle. Basta modificare questo e verrà modificato nella tua applicazione. La chiave qui è di individuare il pacchetto in cui è denominata la voce di menu.

Ecco un metodo per sostituire l'azione di una voce di menu:

  1. Seguire i punti 1 e 2 dal contorno precedente
  2. Una volta che hai ottenuto alla dichiarazione, di ricerca (Ctrl + F) lo stesso file per il valore originalFile (si sta solo cercando per la dichiarazione .instance) ²
  3. volta che hai trovato in cui è definito l'azione, copiare la struttura al vostro file strato
  4. Utilizzando il delegate attributo è possibile ridefinire ciò actio n è utilizzato per questa voce di menu

Il punto qui è di sostituire la definizione dell'azione del menu nel file di livello, sostituendo l'azione con il proprio. Puoi anche usare questa tecnica per sovrascrivere il nome visualizzato dell'azione, ma la tecnica di Branding è più semplice se non hai bisogno di sostituire anche l'azione.


¹ Se il modulo non ha un file di livello, è necessario crearne uno prima di poter utilizzare questa tecnica. Ciò richiede la creazione di un file layer.xml in uno dei pacchetti del modulo. Poi è necessario registrare questo file nei moduli di file manifesto utilizzando la seguente OpenIDE-Module-Layer: com/example/mymodule/layer.xml

²For questo passaggio è possibile evidenziare il .instance nome del valore dell'attributo originalValue e premere Ctrl + F. Per esempio, se il valore dell'attributo originalValue è Actions/Window/org-netbeans-core-windows-actions-RecentViewListAction.instance si desidera evidenziare solo la parte org-netbeans-core-windows-actions-RecentViewListAction.instance. Il punto qui è quello di trovare dove è definita l'azione (questa parte del file layer aggiunge solo l'azione al menu).

+0

Ma come posso modificare un menu già caricato, che fa parte dello scheletro (il menu "navigate" ad esempio)? – Zelig63

+0

Cosa intendi per modifica? Vuoi rinominarlo o aggiungerne un elemento? –

+0

Voglio dire rinominare, sopprimere o modificare il codice collegato. – Zelig63

2

Non sono sicuro di cosa si vuole esattamente fare, ma il file layer.xml è solitamente il posto in cui effettuare tali modifiche.

+0

Ho una versione di prova che non ha un file layer.xml. Se questo è il caso ho bisogno di aggiungere un file layer.xml e dove lo aggiungere? Per tua informazione sto usando la versione Maven del NBP. – simgineer

4

In aggiunta a ciò che è stato ben spiegato in precedenza, ecco un semplice trucco per aggiungere la tua voce di menu mondiale senza nemmeno guardare il contenuto del file XML:

  1. Nel vostro albero modulo andare a trovare il file chiamato layers.xml
  2. clic sul nodo layers.xml di dispiegarsi suoi figli, si tratta di due cartelle:
    • questo strato
    • questo strato nel contesto
  3. aprire il "questo strato nel contesto" nodo e passare alla sottocartella Barra dei menu
  4. fare clic destro e aggiungere una nuova cartella (nome it Cronologia ad es. all'interno della barra dei menu . Il nome di questa nuova cartella verrà utilizzato come categoria nei menu globali della finestra principale della GUI.
  5. Per aggiungere una voce di sottomenu di questo menu globale, fate clic destro sul modulo, scegliere Nuovo-> azione azione e quando viene chiesto di selezionare il menu a collocare questo sottomenu in, scegliere Storia.

PS: è anche possibile aggiungere una categoria al Toolbar come avete fatto per la barra dei menu . Grazie

Problemi correlati