2012-04-27 9 views
9

Ho progettato una piccola applicazione utilizzando la piattaforma netbeans e ora voglio cambiare l'orientamento del layout di base fornito dalla piattaforma netbeans. Ho una finestra simile a quella mostrata sotto enter image description hereLayout piattaforma Netbeans

Voglio che lo schermo di abouve sia visualizzato come sotto all'avvio. Ho ridimensionato per soddisfare le mie esigenze ma voglio che accada da solo.

enter image description here

Dopo un'intensa googling ho scoperto che ho bisogno di creare un layer.xml in uno del modulo e aggiungere il seguente codice a esso.

<folder name="Windows2"> <file name="WindowManager.wswmgr" url="WindowManager.wswmgr"/> </folder>

Il mio file WindowManager.wswmgr assomiglia a questo

<windowmanager version="2.1"> 
<main-window> 
    <joined-properties centered-horizontally="true" centered-vertically="true" 
         width="630" height="400" /> 
    <separated-properties centered-horizontally="true" relative-y="0.1" 
         relative-width="0.6" relative-height="0.08" /> 
</main-window> 
<editor-area state="joined"> 
    <constraints> 
     <path orientation="horizontal" number="60" weight="0.5" /> 
     <path orientation="vertical" number="40" weight="0.7" /> 
     <path orientation="horizontal" number="40" weight="0.5" /> 
    </constraints> 
    <relative-bounds x="33" y="24" width="42" height="44"/> 
</editor-area> 
<screen width="1024" height="800" /> 
<active-mode name="explorer" /> 
<maximized-mode name="" /> 
<toolbar configuration="Standard" preferred-icon-size="24" /> 

Cosa devo fare ora? Mi mancano alcune cose ovvie ??

--EDIT--

layer.xml

<filesystem> 
<folder name="Actions"> 
    <folder name="Window"> 
     <file name="org-choose-transaction-ChooseTransactionTopComponent.instance_hidden"/> 
     <file name="org-choose-transaction-EnterAmountTopComponent.instance"> 
      <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> 
      <attr name="preferredID" stringvalue="ChooseTransactionTopComponent"/> 
     </file> 
     <file name="org-prowze-maketransaction-TransactionTopComponent.instance"> 
      <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> 
      <attr name="preferredID" stringvalue="transactionTopComponent"/> 
     </file> 
     <file name="org-prowze-maketransaction-transactionTopComponent.instance_hidden"/> 
    </folder> 
</folder> 
<folder name="Toolbars_hidden"/> 

<folder name="Windows2"> 
    <folder name="Modes"> 
     <file name="explorer.wsmode" url="explorer.wsmode"/> 
     <folder name="explorer"/> 
    </folder> 
    <file name="WindowManager.wswmgr" url="WindowManager.wswmgr"/> 
</folder> 

explorer.wsmode

<mode version="2.4"> 
<module name="org.netbeans.core.ui/1" spec="1.2" /> 
<name unique="explorer" /> 
<kind type="view" /> 
<state type="joined" /> 
<constraints> 
    <path orientation="horizontal" number="20" weight="0.3"/> 
    <path orientation="vertical" number="20" weight="0.5"/> 
</constraints> 
<bounds x="192" y="228" width="614" height="520" /> 
<frame state="0"/> 
<active-tc id="CustomerViewerTopComponent" /> 
<empty-behavior permanent="true"/></mode> 
+1

non sono sicuro al 100%, ma: penso che se fate il vostro TopComponent avere una dimensione minima (implementare 'getMinimumSize()' per prendere in considerazione la tua grafica) e attivare la "Rispetta dimensione mininum" nelle proprietà "Branding" dell'applicazione, quindi ciò dovrebbe accadere automaticamente. –

+1

Rispetto La dimensione minima ha effetto solo durante il ridimensionamento .. L'ho provato in realtà !! – Deepak

+0

ok, non ero sicuro. –

risposta

3

Il file WindowManager.wswmgr definisce gli attributi della finestra principale. L'altro pezzo che è necessario definire è la modalità di esplorazione (presupponendo che la finestra di CustomerViewer sia in modalità explorer).

La definizione e la registrazione di una modalità sono simili a come è stato definito e registrato il file WindowManager.wswmgr. Il modo pragmatico¹ di determinare come dovrebbe essere l'xml è eseguire l'applicazione, spostare il divisore nella posizione desiderata, chiudere l'applicazione e aprire il seguente file da Esplora file <Your_NB_Application>/build/testuserdir/config/Windows2Local/Modes/explorer.wsmode.

Copiare il contenuto da explorer.wsmode in un file denominato explorer.wsmode che è possibile creare nel pacchetto radice del modulo (com.example.mymodule). Ora è necessario registrare questo file nel file strato:

<folder name="Windows2"> 
    <file name="WindowManager.wswmgr" url="WindowManager.wswmgr"/> 
    <folder name="Modes"> 
     <file name="explorer.wsmode" url="explorer.wsmode"/> 
     <folder name="explorer"/> 
    </folder>   
</folder> 

assicurarsi di eseguire "Clean and Build All" sulla vostra applicazione prima di eseguire di nuovo.

¹Il modo formale per la determinazione della struttura è quello di utilizzare la DTD situato a http://www.netbeans.org/dtds/mode-properties2_4.dtd

+0

Il percorso nel mio sistema non è '/build/testuserdir/Windows2Local/Modes/explorer.wsmode' è' /build/testuserdir/config/Windows2Local/Modes/explorer.wsmode.' – Deepak

+0

Ho fatto i passaggi e ancora non funziona. Ho pubblicato il mio file layer.xml ed explorer.wsmode come edit – Deepak

+0

In realtà il explored.wsmode sottoposto a override sembra non fare nulla o non è nemmeno riconosciuto ... – Deepak