![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Добрый вечер.
Поставили такую задачку, не знаю, как решить. Есть множество всяких компонентов на форме (текстфилды, текстэрии, таблички и т.д). Есть менюшка, в которой стандартно прописаны пункты: Copy, Paste, Cut. я знаю, что с клавиатуры и копирование, и вырезание, и вставка работают. Надо сделать так, чтобы и из этих пунктов меню все работало. Причем, надо сделать, чтобы вставлялось не только скопированный в данном приложении текст, но и текст, который копировался вне. Думаю, по аналогии с делфи, надо обратиться к какому-то глобальному клипборду. Вопрос в том, КАК это сделать??? Наверное, есть какие-то стандартные методы. Помогите, пожалуйста. Поделитесь, если есть, примерами. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Спасибо, с копированием более-менее разобралась... вопрос другой. У меня на форме установлен кард лайаут, в нем 28 панелек на каждой минимум по 4 текстовых поля. как теперь указать, из какого поля копировать, вырезать и куда вставлять? Копирование, вырезание и вставку делаю из меню, то есть соответствующие процедуры пишу в классе главной формы. как узнать, в каком компоненте курсор или выделенный текст. Помогите, пожалуйста.
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
В классе KeyboardFocusManager есть методы getFocusOwner() и getGlobalFocusOwner() с помощью которых можно найти компонент, у которого фокус.
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
хммм.... подскажите еще, пожалуйста, как можно у владельца фокуса взять текст... то есть мы определили, кто владелец. но как теперь добраться до самого текста?!
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
JTextComponent.getSelectedText() -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Я, возможно туплю, но что-то так и не поняла, как это сделать. напишите, пожалуйста, какой-нить хоть маленький пример. Как использовать вместе методы: JTextComponent.getSelectedText() и getFocusOwner() и getGlobalFocusOwner().
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
Чисто теоретический пример (на практике не проверял):
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Написала вот так:
Не работает:( ![]() |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Модератор: Пожалуйста, один топик - один вопрос.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Это был метож копирования. после нажатия на пункт меню Copy копирование не происходит. пишет "Text isn't selected". но текст в текстфилде я выделяю.
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
Есть у меня подозрение, что в момент выбора пункта меню текстовый компонент теряет фокус и поэтому не находится этим методом.
Дальше это дело надо дебажить более подробно. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Угу, у меня тож такое подозрение... но что все-таки мне делать с копированием? Может как-то определить панель, на котрой есть текстовый компонент, в котором выделен текст? а потом взять этот текст? как сделать копирование, вставку и вырезание??
![]() ![]() ![]() |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
если теряешь фокус, то вот есть пример: mouselistener
Это сообщение отредактировал(а) dorogoyIV - 6.8.2007, 09:44 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |