![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
Есть такая проблема. Я создаю JTextPane ввожу в него текс с клавиатуры, так же добавляются туда компоненты ImageIcon и JButton используя insertComponent(). Когда редактирование закончено мне нужно обработать этот документ.
А именно, нужно перебирать его содержимое пока не попадется объект ImageIcon или JButton, а когда он попадется нужно получить его, обработать и вставить на прежнее место обработанным. Как можно организовать такой перебор и как при этом получать компоненты. Нужно получить что-то вроде:
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Посмотри getComponentCount и getComponent(int n). Или просто getComponents()
Этого должно хватить, чтобы перебрать все компоненты, которые лежат в контейнере - в данном случае на панели |
|||
|
||||
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
Посмотрел, спасибо, хватило. Теперь я получаю компонент и как мне отличить ImageIcon это или JButton?
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
|
|||
|
||||
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
Огромное спасибо. Это мне и надо было.
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Да не за что - заходи еще.
|
|||
|
||||
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
А как мне узнать позицию в которой находился компонент?
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
getBounds() для java.awt.Component
|
|||
|
||||
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
возвращает Rectangle. как мне координаты преобразовать в позицию, т.е. я получаю компонент, обрабатываю, если не подходит заменяю другим, а потом мне надо обработанный поставить там где был исходный. Я думаю нужно как-то позицию получить?
Потому что перед компонентом может быть текст различных шрифтов и размеров и другие компоненты. |
|||
|
||||
| hail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
Все нашел
|
|||
|
||||
| snaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Хм... а можно код, как вставить ImageIcon в TextPane
Ведь insertComponent(Component c) не принимает аргумент типа ImageIcon :( Сорри, если тупой вопрос... просто надо нарисовать в тексте картинку.... |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
Вообще-то, ImageIcon и просто так на панель не положишь. ;)
Идея такова: делаешь панель, которая отображает картинку (точно не помню, но, кажется, надо переопределить paint-метод) кладёшь эту панельку в свой TextPane наслаждаешься полученным результатом Если нужен код и никто его тут не выложит, чуть позже я сам закину (сейчас чуток занят). -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| snaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Спасибо. Понятно. Тогда с таким же успехом можно добавить JLabel, у которого в качестве параметра конструктора задана моя иконка ;)
|
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
В принципе, да.
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |