![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| tavla |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
есть jpanel, на которой отрисован график.
как лучше сделать отображение графики при перемещении над ним курсора мышки - отображении координат возле курсора, вертикальной линии по положению курсора и т.д.? каждый раз перерисовывать график и дорисовывать эту информацию глупо, а как сделать еще один прозрачный слой с отрисовкой нужной мне информации? |
|||
|
||||
| psarum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 3.3.2010 Репутация: нет Всего: нет |
но ведь если вы сделаете ещё один прозрачный слой, слой с графиком всё равно придётся перерисовывать...
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Используйте LayeredPane http://docs.oracle.com/javase/tutorial/uis...redpane.html#eg
Вертикальную линию отобразить обьектом JLabel. Двигать - метод setLocation. Перерисовка фона при движении линии обеспечивается LayeredPane. |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Можешь сделать так. Сам график кэшируешь в какой-нибудь буфер (соответственно обновляешь его на изменения размера и прочих операциях, которые влияют на его внешний вид). При отрисовке рендеришь этот буфер на свой panel, сверху дорисовываешь линии/попапы и т.п. В итоге никаких частых тяжелых операций, связанных с отрисовкой и сглаживанием 2d-геометрии у тебя не будет. Только блит заранее отрендеренного графика и дорисовка всяких мелочей типа подсказок и направляющих.
|
|||
|
||||
| tavla |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
COVD, Amp, спасибо.
psarum, потому и спрашиваю, как этого можно избежать. |
|||
|
||||
| psarum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 3.3.2010 Репутация: нет Всего: нет |
Да идея с буфером - хороший вариант. Причём, пример реализации можно попробовать найти в исходниках бесплатной библиотеки JFreeChart, там в конструкторе графика можно задать TRUE и тогда прорисовка с графика и его обновление происходит в буфере.
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
А почему бы, действительно, не использовать JFreeChart? Там, наверное, все уже реализовано.
|
|||
|
||||
![]()
|
| Правила форума "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. |