|
|
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вопрос к тем, кто хоть раз в жизни делал Swing-приложение с тулбаром с кнопкам cut, copy и т.п. Впрочем, буду рада и теоретическим рекомендациям. Буду говорить о кнопке тулбара "Копировать", которая копирует выделенный фрагмент текста. Эта кнопка (в моем случае сделанная из Action) по щелчку мыши получает фокус и в результате этого, снимается выделение текста предназначенного для копирования. Если тулбар отстыковать от края окна, то получение фокуса кнопкой не приводит к отмене выделения текста. Но хотелось бы, что бы все работало красиво и в пристыкованном (docked) и в отстыкованном виде. Подскажите, как избежать этой досадной передачи фокуса? Или как сделать, что б передача фокуса не отменяла выделения? Я приложила программусечку демонстрирующую саму себя (если её откомпилить и запустить из корня диска "С") и возникающую проблему описанную выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 14:54:11 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Хлоя получает фокус и в результате этого, снимается выделение текста предназначенного для копирования. Вот это странно. Выбор текста не должне быть связан с фокусом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:22:24 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Посмотрите JDK\demo\jfc\Stylepad\Stylepad.jar описаной вами проблемы не наблюдается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:23:37 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
button.setRequestFocusEnabled(false); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:25:29 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, И не связан. Вы правы. Кнопка скопирует выделенный текст. Итак, напомню. Окно с тулбаром и кнопкой в нём. Ниже панелька JEditorPane. Выделяем текст в JEditorPane, щелкаем по кнопке в тулбаре. Только визуально текст в панельке перестает быть выделенным. Нажмите TAB для возврата фокуса в панельку и текст выделится снова. Если же щёлкните мышью по панельке, то понятно, что текст не выделится. Оч некрасиво работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:27:59 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Ой, спасибо! Пока писала уже много новых ответов. Щас гляну.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:28:55 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
Blazkowiczbutton.setRequestFocusEnabled(false); Помогло! Во всяком случае при работе мышью. Жаль отказываться от использование Action-ов в пользу JButton-ов но красота важнее. Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:41:30 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
ХлояЖаль отказываться от использование Action-ов в пользу JButton-ов но красота важнее. Не надо ни от чего отказываться: demo\jfc\Stylepad\src\Notepad.java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:45:33 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
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-ы... Вобщем, молодец мальчик, чего говорить. И задание выполнил и бригаду разработчиков свинга никак не обозвал. У таких надо не только учиться программировать, но и жить вообще! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 13:31:57 |
|
||
|
Swing, кнопка toolbar-а снимает выделение текста.
|
|||
|---|---|---|---|
|
#18+
JToolBar.createActionComponent - переопределяем и добавляем желаемую логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 13:52:02 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2132244]: |
0ms |
get settings: |
21ms |
get forum list: |
24ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
66ms |
get topic data: |
21ms |
get first new msg: |
14ms |
get forum data: |
7ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 361ms |
| total: | 618ms |

| 0 / 0 |
