![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| unkis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Ребята, есть проблема.
мне надо сделать мини графический редактор, чтобы можно было мышкой рисовать. У меня уже всё получилось, я обробатываю сабытие мыши и каждый раз когда срабатывает MouseMove, я вызываю repaint() и всё работоло хорошо до того момента пока я в метод pain() не добавли кординатную сетку. сделал я это так:
и теперь у меня всё тормозит ужасно. И вот вопрос, я понимаю что каждый раз java пытается перерисовать эти кординаты, на что и требутся время из-за чего и тормоза. Так вот можно ли как-нибудь сделать несколько слоёв, к примеру координатную сетку мне надо рисовать один раз это мой BackGround это первый слой, а все остальные действия второй слой, и потом накладывать второй слой на первф и делая при этом второй слой прозрачным? Можно ли так? Или может можно как-то по другому, ну не верю я что java настолько медленная. Зарания благодарен. -------------------- www.unkis.com |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Скорее всего, метод двойной буферизации поможет улучшить производительность. Примеры есть тут:
http://javacooperation.dev.juga.ru/Bildsch...lackernRus.html http://www.megapolis.org/internet/web_manual/web4f.html -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| unkis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Спасибо за ответ.
А слоёв я так понял нет? А жаль! -------------------- www.unkis.com |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
1. Зачем ты задаешь dash для BasicStroke, все равно у тебя идет непрерывная линия, делай так: new BasicStroke(1.0f)
2. Попробуй рисовать сетку текстурой:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| unkis |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
что-то я не совсем с DoubleBuffered разобрался. я патаюсь сделать так:
и у меня выдаёт ошибку
ошибку выбрасывает в конструкторе на этой строчке
Ребята что я делаю не так? Зарания благодарен. -------------------- www.unkis.com |
||||||||
|
|||||||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Документация на метод createImage() говорит, что
Добавлено @ 20:15 Если делать вместо createImage() --> new BufferedImage(...), то не вылетает, но рисуется сплошной черный квадрат. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| unkis |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Это всй хорошо, только что мне делать. Подскажите пожалуйста, я что - то ничего не пойму. -------------------- www.unkis.com |
||||
|
|||||
| unkis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Вопрос решён! Всем спасибо.
Праблема была в том что
в конструкторе возвращали 0. не понятно почему может кто сможет обяснить этот феномен. -------------------- www.unkis.com |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Потому что до того как контейнер будет отображен на экране LayoutManager не вызывается и все компоненты имеют умолчальный размер 0. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Потому что на момент вызова метода панелька еще не отображена, поэтому и нули. Но я пробовал втупую забивать туда (50, 50), и все равно не желало. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |