Подтвердить что ты не робот

Как изменить/добавить код в метод initComponents() в Java с помощью NetBeans?

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

4b9b3361

Ответ 1

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

Есть несколько способов добавить код к этому методу, косвенно:

  • Отбросьте новый компонент на дизайн Редактор 'canvas' для окна.

  • Введите код как часть одного из следующие свойства кода: Код предварительного создания, после создания Код, код предварительной инициализации, код после инициализации, Кодекс отправителя, предполетный Кодекса, кода после Код после установки.

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

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

Ответ 2

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

public class NewJFrame extends javax.swing.JFrame {

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

public void myInitComponents() {
}

Ответ 3

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

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

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

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

Code insertion

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

Создайте новый класс java в netbeans в том же пакете с тем же именем.

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

Ответ 8

  • Закрыть Netbeans
  • Перейдите в путь к папке, где есть файл формы
  • Резервное копирование двух файлов с расширениями ".form" и ".java"
  • Отредактируйте 2 файла с расширениями ".form" и ".java" в редакторе блокнота. Например, если ваше имя формы "myForm", вы должны иметь файлы "myForm.form" и "myForm.java" в папке.
  • Первый файл ".form" - это xml файл, а второй ".java" - это код java файла
  • Внимательно отредактируйте свой код в обоих файлах, сохраните изменения и откройте NETBEANS. Вот оно!