Sascha's Wiki

Position von TopComponents festlegen

Die einfachste Möglichkeit in Netbeans eigene Positionen für einzelne TopComponents(Windows) in der Ansicht festzulegen läuft über

File → New File → Module Development → Layout of Windows

Nach einem Klick auf „Next“ kann man die gewünschten Fenster erstellen und Positionieren. anschließend werden die benötigten Files von Netbeans erzeugt.

Sollten die Positionen nicht passen kann man dies in den XML Files anpassen.

Beispiel für zwei nebeneinander liegende Editor-Fenster

Column1.wsmode

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mode PUBLIC "-//NetBeans//DTD Mode Properties 2.3//EN" "http://www.netbeans.org/dtds/mode-properties2_3.dtd">
<mode version="2.3">
    <name  unique="Column1" />
    <kind  type="editor" />
    <state type="joined" />
    <constraints>
        <path orientation="vertical" number="20" weight="0.2"/>
        <path orientation="horizontal" number="20" weight="0.5"/>
    </constraints>
    <empty-behavior permanent="true" />
</mode>

Column2.wsmode

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mode PUBLIC "-//NetBeans//DTD Mode Properties 2.3//EN" "http://www.netbeans.org/dtds/mode-properties2_3.dtd">
<mode version="2.3">
    <name  unique="Column2" />
    <kind  type="editor" />
    <state type="joined" />
    <constraints>
        <path orientation="vertical" number="20" weight="0.2"/>
        <path orientation="horizontal" number="40" weight="0.5"/>
    </constraints>
    <empty-behavior permanent="true" />
</mode>

Anpassung in der layer.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="Windows2">
        <folder name="Modes">
            <file name="Column1.wsmode" url="Column1.wsmode"/>
            <file name="Column2.wsmode" url="Column2.wsmode"/>
        </folder>
    </folder>
</filesystem>

Nun kann man einfach via Annotations in der gewünschten TopComponent mit folgende Annotation die Positionierung festlegen.

@TopComponent.Registration(mode = "Column1", openAtStartup = true, position = 10)

java/netbeans/position-topcomponent.txt · Zuletzt geändert: 2016/04/21 09:15 (Externe Bearbeitung)