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

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

18
задан Tiny 14 November 2014 в 10:52
поделиться

4 ответа

Метод initComponents() регенерируется IDE по мере создания пользовательского интерфейса в редакторе GUI. Метод "охраняется" для предотвращения перезаписи кода, написанного пользователем.

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

  1. Бросьте новый компонент на "холст" редактора дизайна для окна. редактора "холст" для окна.

  2. Введите код как часть одного из следующих свойств кода: Pre-Creation Code, Post-Creation Code, Pre-Init Code, Post-Init Code, Post-Listener Code, Pre-Population Code, Post-Population Code и After-All-Set Code.

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

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

11
ответ дан 30 November 2019 в 07:38
поделиться

Предположительно, вы пишете приложение с помощью графического интерфейса пользователя Matisse.

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

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

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

Code insertion

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

4
ответ дан 30 November 2019 в 07:38
поделиться

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

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

  1. не забудьте сохранить текущую версию где-нибудь
  2. проверьте, что ваши изменения ничего не сломали, открыв класс в визуальном редакторе NetBeans, как только вы закончите
2
ответ дан 30 November 2019 в 07:38
поделиться

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

public class NewJFrame extends javax.swing.JFrame {

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

public void myInitComponents() {
}
14
ответ дан 30 November 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: