Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Graphics2D не работает rotate(), JPanel 
V
    Опции темы
Metalex
Дата 13.8.2011, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



Здравствуйте. Я пытаюсь вывести текст по кругу, а он все равно выводится друг под другом.
Но ничего не происходит (неужели rotate не работает)?:

Код

public class MainAppPanel extends JPanel {

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2D = (Graphics2D) g;
g2D.drawString("Упражнение", 1*ScreenSize.scrWidth/100, 2*ScreenSize.scrHeight/100);

//координаты левого верхнего угла круга
int leftXOval = 1*ScreenSize.scrWidth/100;
int leftYOval = 4*ScreenSize.scrHeight/100;
//координаты правого нижнего угла круга
int rightXOval = leftXOval + 7*ScreenSize.scrWidth/100;
int rightYOval = leftYOval + 7*ScreenSize.scrHeight/100;
g2D.drawOval(leftXOval, leftYOval, rightXOval, rightYOval);

String [] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().
getAvailableFontFamilyNames();
for (int i=0; i<45; i++) {
g2D.rotate(-360/45/58);
g2D.setColor(new Color(
(int) (Math.random()*255),
(int) (Math.random()*255),
(int) (Math.random()*255) ));
Font curFont = new Font(fontNames[i], Font.BOLD, 18);
g2D.setFont(curFont);
g2D.drawString(fontNames[i], getWidth()/4, 1*ScreenSize.scrWidth/100*i);
}
}
}

Может я где-то ошибся?

И еще: почему круг при визуальном восприятии становится овалом?
Благодарю всех за помощь.


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
dorogoyIV
Дата 13.8.2011, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



во первых углы в радианах (у тебя в градусах)
во вторых не надо пытаться вращать Graphic, для этого есть AffineTransform
PM MAIL   Вверх
Metalex
Дата 15.8.2011, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



Цитата(dorogoyIV @  13.8.2011,  22:45 Найти цитируемый пост)
есть AffineTransform

Благодарю  smile 
А насчет 
Цитата(dorogoyIV @  13.8.2011,  22:45 Найти цитируемый пост)
у тебя в градусах

не согласен.
1 рад ≈ 57,295779513°

Это сообщение отредактировал(а) Metalex - 15.8.2011, 12:47


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
dorogoyIV
Дата 15.8.2011, 13:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Код

Math.toRadians(угол в градусах)

PM MAIL   Вверх
Metalex
Дата 15.8.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



Еще раз спасибоsmile
А почему если я в цикле делаю так:
Код

g2D.setTransform(AffineTransform.getRotateInstance(Math.toRadians(360/n)));

У меня происходит всего 1 поворот?


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
dorogoyIV
Дата 15.8.2011, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.