powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing, кнопка toolbar-а снимает выделение текста.
11 сообщений из 11, страница 1 из 1
Swing, кнопка toolbar-а снимает выделение текста.
    #37715887
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Вопрос к тем, кто хоть раз в жизни делал Swing-приложение с тулбаром с кнопкам cut, copy и т.п.
Впрочем, буду рада и теоретическим рекомендациям.

Буду говорить о кнопке тулбара "Копировать", которая копирует выделенный фрагмент текста.
Эта кнопка (в моем случае сделанная из Action) по щелчку мыши получает фокус и в результате
этого, снимается выделение текста предназначенного для копирования. Если тулбар отстыковать от
края окна, то получение фокуса кнопкой не приводит к отмене выделения текста. Но хотелось бы,
что бы все работало красиво и в пристыкованном (docked) и в отстыкованном виде.
Подскажите, как избежать этой досадной передачи фокуса?
Или как сделать, что б передача фокуса не отменяла выделения?

Я приложила программусечку демонстрирующую саму себя (если её откомпилить и запустить
из корня диска "С") и возникающую проблему описанную выше.
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715948
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хлоя получает фокус и в результате этого, снимается выделение текста предназначенного для копирования.
Вот это странно. Выбор текста не должне быть связан с фокусом.
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715951
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите
JDK\demo\jfc\Stylepad\Stylepad.jar
описаной вами проблемы не наблюдается.
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715955
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
button.setRequestFocusEnabled(false);
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715965
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

И не связан. Вы правы. Кнопка скопирует выделенный текст.

Итак, напомню. Окно с тулбаром и кнопкой в нём. Ниже панелька JEditorPane.
Выделяем текст в JEditorPane, щелкаем по кнопке в тулбаре.
Только визуально текст в панельке перестает быть выделенным.
Нажмите TAB для возврата фокуса в панельку и текст выделится снова.
Если же щёлкните мышью по панельке, то понятно, что текст не выделится.
Оч некрасиво работает.
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715967
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой, спасибо! Пока писала уже много новых ответов.
Щас гляну....
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37715994
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczbutton.setRequestFocusEnabled(false);

Помогло! Во всяком случае при работе мышью.

Жаль отказываться от использование Action-ов в пользу JButton-ов но красота важнее.

Спасибо!!!
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37716002
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХлояЖаль отказываться от использование Action-ов в пользу JButton-ов но красота важнее.
Не надо ни от чего отказываться:
demo\jfc\Stylepad\src\Notepad.java
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37717772
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczХлояЖаль отказываться от использование Action-ов в пользу JButton-ов но красота важнее.
Не надо ни от чего отказываться:
demo\jfc\Stylepad\src\Notepad.java

Я о рекомендованном Вами примере (я смотрела в том что идет с 5-ой версией).

Известно, что Action отображается в toolbar-e в виде пиктограммы указанной в Action посредством: putValue(Action.SMALL_ICON, собсна_картиночка);
И Action можно прямо засовывать вместо JMenuItem в JMenu, и вместо JButton-а в JToolbar.

И господин Timothy Prinzing не мог этого не знать. Раз уж его пригласили написать демки для swing-а.

Однако вышеупомянутый г-н, создаёт метод
protected JButton createToolbarButton(String key)
в котором создаёт JButton и Action назначает всего лишь Listener-ом.
И вот эти JButton-ы (а на Action-ы) засовывает в тулбар.
Конечно не забывая про setRequestFocusEnabled(false);
Т.е. он не то что-бы не использует Action-ы...

Вобщем, молодец мальчик, чего говорить. И задание выполнил
и бригаду разработчиков свинга никак не обозвал.
У таких надо не только учиться программировать, но и жить вообще!
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37717832
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JToolBar.createActionComponent - переопределяем и добавляем желаемую логику.
...
Рейтинг: 0 / 0
Swing, кнопка toolbar-а снимает выделение текста.
    #37718360
Хлоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Спасибо!!!

Это самое-то что нужно. В программе не изменилось ничего, а как бы поставлено лёгкое исправление тулбара. Спасибо!!!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing, кнопка toolbar-а снимает выделение текста.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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