it-swarm.com.ru

Как изменить не редактируемый/сгенерированный код в NetBeans

Я хочу изменить нередактируемый код в Netbeans,
Я хочу заменить
javax.swing.JTextFeild с ObservingTextField
для которого у меня есть класс, импортированный в мой проект для реализации выбора даты
Но Netbeans не позволяет мне редактировать код. Пожалуйста помоги 

// Variables declaration - do not modify                     
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
`private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;`
// End of variables declaration   
10
CleanX

Если вы хотите добавить пользовательский компонент в файл, который использует редактор GUI Netbeans (называется: Matisse), есть несколько способов:

Первый:

Вы можете добавить этот компонент в менеджер «Палитра». Лично у меня был ограниченный успех в этом, особенно при добавлении компонентов из моих собственных пользовательских библиотек. Однако вы можете добавить компоненты и просто выбрать «из проекта», затем выбрать свой проект, и вы должны увидеть свой компонент в списке (если вы этого не сделаете, запустите команду clean & build).

Обратите внимание, что в этом проекте у меня есть два файла, CustomTextField и NewJFrame.

enter image description here

Код для CustomTextField это просто то, что расширяет JTextField:

package test4;

import javax.swing.JTextField;

public class CustomTextField extends JTextField {

}

Затем в окне «Палитра» щелкните правой кнопкой мыши и выберите «Диспетчер палитр ...»

enter image description here

Затем в Диспетчере палитр вы нажимаете «Добавить из проекта ...» (если вы добавляете из библиотеки, вы нажимаете «Добавить из библиотеки ...» и т.д.

enter image description here

Затем я выбираю CustomTextField

enter image description here

И вот там, где это находится, в Диспетчере палитр, и я могу перетащить его в свой графический интерфейс.

enter image description here

Примечание: этот способ не очень хорош, если вам нужен этот компонент в несколько проектов. Диспетчер палитр для Netbeans в целом, поэтому, если вы попытаетесь использовать компонент, который существует в другом проекте, вы иметь проблему.

Примечание № 2: у меня были проблемы с Java Web Start и моей собственной пользовательской библиотекой. Существует ошибка, выпущенная с 7u25, которая вызывает NPE из JNLPClassLoader всякий раз, когда загружаются мои пользовательские библиотеки, поэтому мне пришлось импортировать компоненты из проекта вместо библиотеки.

Во-вторых:

Есть более хакерский способ сделать что-то, но иногда это необходимо: в GUI-редакторе вы можете щелкнуть правой кнопкой мыши по компоненту и нажать «Настроить код».enter image description here Затем вы можете изменить определение переменной ( не объявление ). Если вам нужно изменить переменную объявление, то она станет еще более хакерской, и я бы порекомендовал вам просто написать свой код в этой точке. Но, чтобы сделать это через это окно, вы можете «закомментировать» часть в «коде объявления переменной», добавив /* и */ вокруг private javax.swing.JTextField jTextField1; и добавив собственное объявление переменной.

В третьих:

Другой вариант - написать вручную. :) Если вам нужны простые компоненты Swing или компоненты, которые можно добавить в палитру, я рекомендую GUI Editor. Если вам нужны более сложные и настраиваемые компоненты Swing, тогда вы можете начать писать этот код вручную. Большинство людей порекомендуют вам сделать это в любом случае. Тем не менее, я с гордостью люблю редактор GUI Netbeans.

17
ryvantage

Другой вариант удалить специальные комментарии. Вы не можете видеть в NetBeans, но если вы откроете в другом текстовом редакторе (например, в блокноте), вы увидите эти комментарии в начале и в конце недоступного для редактирования раздела. Комментарии выглядят так: 

//GEN-BEGIN:initComponents
//GEN-END:initComponents
19
Lanistus

Это зависит от того, ПОЧЕМУ netbeans не позволяет вам редактировать этот исходный файл.

  1. Это часть библиотеки, которую вы просто импортируете в свой проект. Это означает, что ваш проект действительно использует скомпилированные файлы классов/jar. Нет смысла редактировать этот файл. Найдите автора библиотеки и отправьте запрос на изменение. Это также относится к самому API Java. Конечно, шансы на то, что они действительно примут запрос на изменение, могут быть невелики.

  2. Он защищен от записи на диске без особых причин. => сделать его доступным для записи

  3. Он управляется некоторой системой контроля версий, которая запрещает редактирование перед извлечением файла из системы. Хорошо проверь это.

  4. Это некоторый файл, сгенерированный NetBeans (что может быть на самом деле так, судя по исходному коду, который вы разместили). В этом случае вы, вероятно, можете отредактировать его в другом редакторе (notepad/vi), но ваши изменения, вероятно, будут перезаписаны при следующем поколении кода или сломают файл для любых используемых вами инструментов. => Найдите инструмент и как применить изменения соответствующим образом с этим инструментом.

1
Jens Schauder

Net Beans позволяет вам использовать собственный код на странице просмотра формы. Я сейчас не на компьютере с сетевыми компонентами, но если вы щелкнете правой кнопкой мыши по текстовой области и ее нижней части

1
exussum

Я использую простой обходной путь для редактирования файла. Сначала я копирую весь код в блокнот и удаляю класс. Затем я создаю класс Java и вставляю код обратно. Имейте в виду, что сейчас вы не получите GUI Builder. Так что держи в ми

0
Anuj Chandra

Когда вы открываете файл формы в NetBeans, это указывает на Java-файл, который находится в интервале файла формы.

Решение для редактирования этих нередактируемых файлов:  

  1. Откройте NetBeans и перейдите> Инструменты> Параметры> Разное
  2. Файлы Создать новое расширение файла> форма> и в Связанный файл mime выберите: HTML файлы
0
Blackhero