По некоторым причинам NSTextField не позволяет мне приклеивать что-либо в него использование Command+V
, хотя я могу приклеить в него, если я щелкаю правой кнопкой мыши и нажимаю 'Paste'. Почему это происходит и как я фиксирую его?
Не следует делать конструктор частным. Период. Сделайте его защищенным, чтобы можно было расширить класс, если нужно.
Редакция: Я стою на этом, сколько бы ты ни бросал на это даунвоты. Вы отсекаете потенциал для будущего развития кода. Если другие пользователи или программисты действительно намерены расширить класс, то они просто изменят конструктор на защищенный в источнике или байт-коде. Вы ничего не сделали, кроме того, чтобы сделать их жизнь немного сложнее. Включите предупреждение в комментарии конструктора и оставьте его при этом.
Если это служебный класс, более простым, правильным и элегантным решением является пометка всего класса «статический финал» для предотвращения расширения. Не стоит просто помечать конструктор как частный; действительно определенный пользователь может всегда использовать отражение для получения конструктора.
защищенного
конструктор должен принудительно использовать статические
заводские методы, которые позволяют
ограничение создания экземпляров или пула & повторного использования
дорогостоящие ресурсы (подключения к БД,
собственные ресурсы). Два параметра:
Запустите приложение Java со stdout, перенаправленным
java com.example.MyApp > out.txt
Вместо этого используйте jstack
.
Утилита jstack позволяет получить дамп потока и отправить вывод на текущую консоль вместо stdout приложения Java, позволяя перенаправить его.
Например, если PID приложения Java 12345 (используйте утилиту jps для быстрого поиска):
jstack 12345 > threads.txt
-121--2392144- Я исправил его, связав кнопку «Вставить» в главном меню NSMenu с командой первого ответчика paste:
.
Что происходит, когда вы выбираете «Редактировать> вставить» из главного меню вашего приложения?
Вы имели:
- или -