Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 1
Регистрация: 14.03.2011
Сообщений: 27

Графика в Java

14.10.2011, 01:40. Показов 2479. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи, нужна ваша помощь.
Есть библиотека (на основе AWT) (папка lib). Она подключается к проекту. А там уже мы описываем графические фигурки и так далее.
Какое было задание: написать программу - аналоговые часы с использованием этой библиотеки.

Суть: стрелки - являются картинками, часы - тоже. Т.е. мы должны изменять координаты картинок-стрелок, а пользователь видит это все как обычные часики. Сделал сейчас только для одной стрелки. И возникли проблемки (описаны ниже).
Какая помощь требуется: нужно сделать, чтобы стрелка вертелась на месте (т.е. начало стрелки было неподвижно и находилось в центре, а её конец двигался, как в обычных аналоговых часах).
И большая просьба посмотреть, почему Angle меняется как-то некорректно (при шаге + 0.1)


Вот лог дебага (дебажил обычным выводом):
/* Стрелка минутная, но дебажил как секундную, т.к. ту еще не успел нарисовать. Да и время уже 3-40 утра ;( Сам код + картинки лежат во вложении. Заранее спасибо за помощь.*/
Minute Angle = 0.0
Minute Angle = 0.1
Minute Angle = 0.2
Minute Angle = 0.30000000000000004
Minute Angle = 0.4
Minute Angle = 0.5
Minute Angle = 0.6
Minute Angle = 0.7
Minute Angle = 0.7999999999999999
Minute Angle = 0.8999999999999999
Minute Angle = 0.9999999999999999
Minute Angle = 1.0999999999999999
Minute Angle = 1.2
Minute Angle = 1.3
Minute Angle = 1.4000000000000001
Minute Angle = 1.5000000000000002
Minute Angle = 1.6000000000000003
Minute Angle = 1.7000000000000004
Minute Angle = 1.8000000000000005
Вложения
Тип файла: rar hw4.1.rar (1.10 Мб, 37 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2011, 01:40
Ответы с готовыми решениями:

3D графика в Java
Подскажите какую библиотеку выбрать для программирования 3D графики на Java. Родная Java3D от Oracle, как я слышал, не очень хороша. Какие...

2d графика и изометрия в java
Доброго времени суток. Какие есть средства в java, для создания изометрической картинки (изометрического холста). И с помощью чего можно...

Java графика спираль
Приветствую всех, кто не спит) у меня тут задачка,которую нужно срочно решить:Построить спираль вокруг точки (3,5) с n витками и r...

5
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
14.10.2011, 22:42
на sdk 1.6 эта awt-ui.jar вообще стрелок не показывает, думаю надо выкатывать ещё и её доки и сорцы, иначе не понятно что там происходит
0
2 / 2 / 1
Регистрация: 14.03.2011
Сообщений: 27
20.10.2011, 13:07  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
на sdk 1.6 эта awt-ui.jar вообще стрелок не показывает, думаю надо выкатывать ещё и её доки и сорцы, иначе не понятно что там происходит
стрелки - это картинки. т.е. дополнительные классы возвращают просто название картинки.
т.е. Scene scene = new Scene(1024,768, "images", "background"); // указываем папку и картинку бэкграунда
а например Hour h = new Hour(5,5,0); // указываем на класс Hour, его конструктор (принимает x,y, angle) и возвращает название файла картинки, например "hour"

всего используются такие функции как addObject(Paintable obj), repaint(), removeObject(Paintable obj); все остальное из библиотеки не трогаем.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
20.10.2011, 13:50
я по коду понимаю что оно должно делать, но дело в том что на jre 1.6.0_20 эти либки не работают вообще. Возможно они OS зависимые (у меня linux). Ну и вообще не понимаю, зачем обязательно привязываться к этим безсырцовым либкам и пытаться починить их баги, когда можно всё реализовать стандартными средствами?
0
2 / 2 / 1
Регистрация: 14.03.2011
Сообщений: 27
21.10.2011, 10:15  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
я по коду понимаю что оно должно делать, но дело в том что на jre 1.6.0_20 эти либки не работают вообще. Возможно они OS зависимые (у меня linux). Ну и вообще не понимаю, зачем обязательно привязываться к этим безсырцовым либкам и пытаться починить их баги, когда можно всё реализовать стандартными средствами?
Это задание преподавателя ;( Мне тоже было бы проще реализовать все стандартными средствами, тем более в интернете 100500 примеров аналоговых часов с использованием библиотеки AWT
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
21.10.2011, 13:46
Цитата Сообщение от Screenly Посмотреть сообщение
Это задание преподавателя ;(
если оно у тебя работает то попробуем гипотетически. Шаг так меняется из за того что тип double имеет ограниченную точность, поэтому нам надо его округлить до десятых
Java
1
2
3
4
5
6
7
8
9
public class RoundDouble {
    public static void main(String[] args) {
        double [] angle = {0.0, 0.1, 0.19999999, 0.300000012};
        for (double d : angle) {
            System.out.println(String.format("%2.1f", d));   
        }
        
    }
}
Добавлено через 2 минуты
а крутить можно вот так
Java
1
2
3
4
5
6
7
8
9
10
    private void drawRadius(Graphics2D g2, double percent, int minRadius, int maxRadius) {
        double radians = (0.5 - percent) * TWO_PI;
        double sine = Math.sin(radians);
        double cosine = Math.cos(radians);
        int dxmin = _centerX + (int) (minRadius * sine);
        int dymin = _centerY + (int) (minRadius * cosine);
        int dxmax = _centerX + (int) (maxRadius * sine);
        int dymax = _centerY + (int) (maxRadius * cosine);
        g2.drawLine(dxmin, dymin, dxmax, dymax); 
    }
Добавлено через 52 секунды
вместо линии вращай свою картинку со стрелкой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2011, 13:46
Помогаю со студенческими работами здесь

Графика в Java для Windows
Имеется небольшое приложение Java для Windows XP (на картинке слева) К нему необходимо добавить отдельную форму с графикой типа (на...

Java и OpenGL. Java и 3Д графика
Здравствуйте, уважаемые форумчане!:) Хочу создать небольшую 3Д игрушку на Java. Давно слышал про OpenGL, пытался найти в интернете...

Графика Java
Здравствуйте прошу помочь литературой или возможно есть видео как написать нужный мне код, или же прошу помочь примером кода, так я в...

Столько разделов в Java, расскажите разницу между ними. Кроссплатформенная разработка приложений + 3D Графика
Столько разделов в Java, расскажите разницу между ними. Интересует кроссплатформенная разработка приложений + 3D Графика. В общем...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN я не понятно, это исключительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru