Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить текст из активного текстового объекта / 25 сообщений из 42, страница 1 из 2
18.10.2017, 13:15
    #39538014
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Есть JPane
На ней куча(>20) разных JTextField и JTextArea.
Надо получить текст из того объекта на котором установлен курсор. Пробовал через проверку isFocused и getText. Но это море кода. Может есть что то простое?
...
Рейтинг: 0 / 0
18.10.2017, 13:27
    #39538021
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
JFrame.getFocusOwner()
...
Рейтинг: 0 / 0
18.10.2017, 13:28
    #39538022
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelЕсть JPane
На ней куча(>20) разных JTextField и JTextArea.
Надо получить текст из того объекта на котором установлен курсор. Пробовал через проверку isFocused и getText. Но это море кода. Может есть что то простое?
На какое событие?
Как только ты кликнешь на кнопку с кодом, твой фокус и курсор пропадут.
...
Рейтинг: 0 / 0
18.10.2017, 13:28
    #39538023
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()
...
Рейтинг: 0 / 0
18.10.2017, 13:30
    #39538024
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Petro123На какое событие?
Как только ты кликнешь на кнопку с кодом, твой фокус и курсор пропадут.
Замечание верное. Супер-задача не ясна. И возможны подобные косяки. Хотя
- Событие клика отработает до события смены фокуса.
- Смену фокуса перехватить тоже не проблема
...
Рейтинг: 0 / 0
18.10.2017, 13:31
    #39538025
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngel,
Я больше пишу в статике. Т.е. в коде события я знаю заранее от кого событие.
Если простой случай.
...
Рейтинг: 0 / 0
18.10.2017, 13:39
    #39538033
marcoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Код: python
1.
2.
onFocus(element):
  lastFocusOwner = element
...
Рейтинг: 0 / 0
18.10.2017, 14:19
    #39538067
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Blazkowicz,
Очень интересно, и как вот с этой строчки
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()
Получить объект(имя) и текст этого объекта?
В частности выделенный текст(getSelectedText())
...
Рейтинг: 0 / 0
18.10.2017, 14:27
    #39538070
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngel,

Вы программист или где?
- Посмотреть в документации какой наиболее абстрактный тип который вы можете использовать для вызова метода.
- Прикастить полученый Component к этому типу.
- Вызвать желаемый метод.

Что из этих пунктов нет понятно?
...
Рейтинг: 0 / 0
18.10.2017, 14:28
    #39538071
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngel,
Про супер-задачу вы так и не написали).
...
Рейтинг: 0 / 0
18.10.2017, 14:34
    #39538080
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelПолучить объект(имя)
Что-то у вас терминологии сломалось.
Ни Swing ни Java не оперируют именами. Swing оперирует компонентами, а не объектами. Любая компонента Swing это Java объект, но не любой Java объект это компонента."
И что же у нас возвращает FocusOwner?
https://docs.oracle.com/javase/7/docs/api/java/awt/KeyboardFocusManager.html#getFocusOwner()
Не уже ли Component?
...
Рейтинг: 0 / 0
18.10.2017, 15:29
    #39538141
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Blazkowicz,
Ничего не знаю про доки, но на практике если встать на JTextArea и попытаться выполнить
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner().Name() то на выходе получим null.
Следовательно ни getText, ни getSelectionText не сработают. Точнее их даже нет для этого.
...
Рейтинг: 0 / 0
18.10.2017, 15:34
    #39538146
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Petro123,
А что писать то? Вроде и так понятно - курсор это тот самый курсор(не путать с указателем мыши) что мигает в текстовых полях. Как может убежать фокус - мне не понятно. Если только фокус потеряет вся форма, других мыслей у меня нет в этом направлении.
Задача то в общем не сложная - заменить выделенный текст другим по нажатию кнопки. Если брать очные имена field name каждого, то тогда все просто всё статично, но это море кода, море проверок на кнопке. Что ни есть хорошо даже для такого "программиста-новичка" как я. Есть же все таки иногда здоровые идеи)
...
Рейтинг: 0 / 0
18.10.2017, 15:38
    #39538151
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelНичего не знаю про доки

Бывает.

BlackeAngel, но на практике если встать на JTextArea и попытаться выполнить
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner().Name() то на выходе получим null.

Вероятно речь про setName(). Не понятно с какого перепугу там должно что-то быть, если вы его туда предварительно не поместили и пишите на Swing, а не AWT.

BlackeAngelСледовательно ни getText, ни getSelectionText не сработают.

Между тем что вам так кажется и как оно на самом деле целая пропасть.


BlackeAngelТочнее их даже нет для этого.
Откройте для себе удивительный мир Java
...
Рейтинг: 0 / 0
18.10.2017, 15:38
    #39538152
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlazkowiczВероятно речь про setName().
getName()
...
Рейтинг: 0 / 0
18.10.2017, 15:42
    #39538158
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Blazkowicz,
Именно, getName().
Как это не поместил?
Поместил же
public JTextArea textarea2;
И вернуть оно должно textarea2,а не пустоту, когда оно в фокусе.
...
Рейтинг: 0 / 0
18.10.2017, 15:47
    #39538165
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelПоместил же
public JTextArea textarea2;

Это объявление переменной. Оно к методу java.awt.Component.getName() отношения не имеет.

BlackeAngelИ вернуть оно должно textarea2,а не пустоту, когда оно в фокусе.
Нет, не должно.
...
Рейтинг: 0 / 0
18.10.2017, 15:52
    #39538172
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelЗадача то в общем не сложная - заменить выделенный текст другим по нажатию
От препода задача?
Обычно кнопка или комбобокс или ОпенДиалог как раз рядом с техтовым полем.
...
Рейтинг: 0 / 0
18.10.2017, 15:53
    #39538176
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Petro123,
Обычная кнопка.
...
Рейтинг: 0 / 0
18.10.2017, 16:00
    #39538188
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Blazkowicz,
Ну не должно, так не должно. Вы профи вам виднее.
Тогда что вернёт то что мне так желанно?
...
Рейтинг: 0 / 0
18.10.2017, 16:09
    #39538205
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngel,

Вы бы сразу писали, мол так и так. Яву не знаю и учить не буду. Напишите за меня готовый код, а то в школе ругать будут.

Код: java
1.
2.
3.
4.
5.
6.
7.
Component inFocus = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
if(inFocus instanceof JTextComponent) {
    JTextComponent textField = (JTextComponent)inFocus;
    processSelectedText(textField.getSelectedText());
} else {
    handleNoTextComponentInFocusCase();
}
...
Рейтинг: 0 / 0
18.10.2017, 16:14
    #39538210
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelPetro123,
Обычная кнопка.
Я выше написал:
Обычно кнопка рядом с полем. Тогда всё в статике.
Либо автоподстановка на ввод символа.
Но вам виднее. Удачи!
...
Рейтинг: 0 / 0
18.10.2017, 16:18
    #39538215
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Blazkowicz,
Какой ужас. Думал, что будет одна строка.
...
Рейтинг: 0 / 0
18.10.2017, 16:26
    #39538227
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
Petro123,
В статике - 170 строк для 1 кнопки. Кнопок 7. Не слишком ли много?
...
Рейтинг: 0 / 0
18.10.2017, 16:27
    #39538230
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить текст из активного текстового объекта
BlackeAngelBlazkowicz,
Какой ужас. Думал, что будет одна строка.
Я же говорю. Вы сразу предупреждайте о всех требованиях. Нужен однострочный говнокод? Их есть у меня:
Код: java
1.
((JTextComponent)KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()).getSelectedText()
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить текст из активного текстового объекта / 25 сообщений из 42, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]