2015-10-25 3 views

ответ

0

Я не уверен, будет ли это полезно, но модуль может включать изменения настроек в layer.xml, которые изменяют размер/положение исходной позиции режима. Ваш верхний компонент будет состыкован в одном из режимов, поэтому изменение его размера должно изменить размер ваших верхних компонентов.

например 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="editor.wsmode" url="modesettings.xml"/> 
     </folder> 
    </folder> 
</filesystem> 

это указывает на modesettings.xml в том же каталоге.

<?xml version="1.0" encoding="UTF-8"?> 
<mode version="2.4"> 
    <module name="org.netbeans.core.ui/1" spec="1.2"/> 
    <name unique="editor"/> 
    <kind type="view"/> 
    <state type="separated"/> 
    <constraints> 
     <path orientation="horizontal" number="20" weight="0.3"/> 
     <path orientation="vertical" number="20" weight="0.5"/> 
    </constraints> 
    <bounds x="137" y="192" width="660" height="200"/> 
    <frame state="0"/> 
    <empty-behavior permanent="true"/> 
</mode> 

Вы можете также изменить границы режима при запуске с чем-то вроде этого:

@OnShowing 
public class ModeBoundsSetter implements Runnable { 

    @Override 
    public void run() { 
     WindowManager wm = WindowManager.getDefault(); 
     Mode mode = wm.findMode("editor"); 
     if(null != mode) { 
      mode.setBounds(new Rectangle(0,0,2000,100)); 
     } 
    } 
} 
+0

Tks, но didn't работы. В моем файле layer.xml узел не имеет дочерних узлов. Я также искал каждый файл в слое xml и не нашел ничего подобного вашему файлу modesettings.xml. Я пытаюсь сделать это, как вы сказали в своем третьем блоке фрагмента кода, но он также не работал. Окно всегда остается с тем же размером. –

+1

Если ваш layer.xml не имеет дочерних узлов, вам нужно добавить их так же, как я. Неудивительно, что у вас нет modesettings.xml, поскольку я только что составил это имя. Вы можете выбрать любое имя, которое вы хотите для modesettings.xml. Он просто должен совпадать, поэтому файл layer.xml сообщает ему, чтобы он выглядел в файле modesettings.xml или как вы его называете. Для третьего блока вам нужно запустить его в runnable public class с аннотацией '@ OnShowing'. – WillShackleford

+0

Я помещал аннотацию '@ OnShowing' перед объявлением класса TopComponent и реализовал интерфейс« Runnable »в том же классе. Я поместил тот же фрагмент кода внутри 'run()', и он даже не работал. Я попытаюсь добавить эти дочерние узлы в свой layer.xml, а также создать xml в том же каталоге, что и вы сказали. Затем я опубликую результат через минуту. –

Смежные вопросы