Как изменить / добавить код в метод initComponents () в Java, используя NetBeans? - PullRequest
18 голосов
/ 13 марта 2010

Как изменить / добавить код для метода initComponents() в Java на NetBeans? Когда я пытаюсь добавить какую-либо строку кода, эта область выглядит как только для чтения, и она выделяется серым цветом! Возможно, это для безопасности, но я полагаю, что есть способ отключить это.

Ответы [ 8 ]

14 голосов
/ 13 марта 2010

Да, метод initComponents доступен только для чтения, чтобы сохранить полный контроль над IDE. Вы можете добавить свои в конструктор сразу после initComponents.

public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
    initComponents();
    myInitComponents();
}

public void myInitComponents() {
}
11 голосов
/ 13 марта 2010

Метод initComponents () регенерируется IDE при создании пользовательского интерфейса в редакторе GUI. Этот метод является «защищенным», чтобы предотвратить перезапись пользовательским кодом этой регенерации.

Существует несколько способов косвенного добавления кода в этот метод:

  1. Добавьте новый компонент в дизайн редактор 'canvas' для окна.

  2. Введите код как часть одного из следующие свойства кода: Код перед созданием, после создания Код, Код до инициации, Код после инициализации, Код после прослушивания, предварительное заполнение Код, Код Пост-Населения и Код после полного набора.

    Существует пара других свойств кода, которые не изменяют метод initComponents () ... но могут быть очень полезны: код до декларации и код после декларации. альтернативный текст http://blogs.sun.com/vkraemer/resource/code-properties.png Примечание: редактор для этих свойств не является «богатым», поэтому я рекомендую создавать методы в «обычном редакторе», который вы просто вызываете в initComponents ().

Вы можете изменить код в методе initComponents (), разместив или изменив «обычные» свойства «базовой панели» или элементов управления.

4 голосов
/ 13 марта 2010

Предположительно, вы пишете приложение с использованием инструмента Matisse GUI.

Матисс генерирует не редактируемые блоки кода. Это требуется Матиссу, чтобы инструмент оставался синхронизированным с базой кода.

В Matisse есть несколько опций, позволяющих вставлять пользовательский код до, после или внутри блоков кода, например initComponents().

См. Изображение ниже:

Code insertion

Здесь показана вкладка свойств для jPanel и некоторые параметры вставки кода.

2 голосов
/ 20 октября 2015

Если вы щелкнете правой кнопкой мыши по компоненту в Design View, а затем выберете «Customize Code», вы можете изменить код в коде InitComponent. Можно настроить несколько строк явного кода.

2 голосов
/ 13 марта 2010

Чтобы разрешить изменения как в исходном тексте, так и в редакторе Matisse GUI, NetBeans предотвращает редактирование того, что он называет «защищенными блоками». Хотя вы можете представить, что IDE может интерпретировать практически любой код GUI, который вы пишете, на практике разработчикам IDE гораздо проще инкапсулировать автоматически созданный код GUI в один метод (initComponents ()) и оставить остальные для вас, чтобы редактировать.

Если вы уверены, что знаете, что делаете, вы можете легко отредактировать файл .java из внешнего редактора, но:

  1. обязательно сохраните текущую версию где-нибудь
  2. проверьте, что ваши изменения ничего не сломали, открыв класс в визуальном редакторе NetBeans, как только вы закончите
1 голос
/ 25 октября 2011

Я методом проб и ошибок обнаружил, что инициализация, которую необходимо выполнить до того, как пользователь увидит панель, должна быть добавлена ​​как «Код предварительной инициализации». В моем случае мне нужно было заполнить выпадающий список (называемый «Выбор» в AWT). Похоже, очень мало подробной документации по использованию Matisse. Поэтому я надеюсь, что это поможет другим.

0 голосов
/ 12 апреля 2017
  1. Закрыть Netbeans
  2. Перейти к пути к папке, где находится файл формы
  3. Резервное копирование 2 файлов с расширениями ".form" и ".java"
  4. Отредактируйте 2 файла с расширениями ".form" и ".java" в редакторе блокнота. Например, если имя вашей формы - «myForm», в папке должны быть файлы «myForm.form» и «myForm.java».
  5. Первый файл «.form» - это файл XML, а второй «.java» - файл кода Java
  6. Тщательно отредактируйте свой код в обоих файлах, сохраните изменения и откройте NETBEANS. Вот и все!
0 голосов
/ 09 июня 2016

выберите весь код и скопируйте его во внешний редактор, например, в gedit или блокнот.

Затем удалите файл jframe.

Создайте новый Java-класс в NetBeans в том же пакете с тем же именем.

Скопируйте все содержимое из файла редактора и вставьте его во вновь созданный класс Java.

...