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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос текста 
:(
    Опции темы
Samuil
  Дата 25.10.2006, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

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



Как модно сделать перенос текта в меде paint(), если размер строки в пиксах больше размера экрана то должна преноситься вместе с недоконченным словом на следующую строку, надеюсь понятно обьяснил


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
Samuil
Дата 25.10.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

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



Похоже вопрос очень сложен для наших гуру?


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
SevenM
Дата 26.10.2006, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.8.2006
Где: Магнитогорск

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



Код

  public int drawStrings(Graphics g, int x, int y, int w, String str)
  {
    int ii, pointS = 0, len = str.length();
    for ( ii = 0; ii >= 0; )
    {
      ii = str.indexOf(" ", ii + 1);
      if ( ii < 0 )
      {//больше нет пробелов
        if ( getLen(str) > w )
        {
          g.drawString(str.substring(0, pointS), x, y, Graphics.TOP|Graphics.LEFT);
          str = str.substring(pointS + 1);
          y += getHight();
        }
        g.drawString(str, x, y,  Graphics.TOP|Graphics.LEFT);
        return y + fontB.getHeight();
      }
      else
      {
        if ( fontB.stringWidth(str.substring(0, ii)) < w )
        {
          pointS = ii;
        }
        else
        {
          g.drawString(str.substring(0, pointS), x, y, Graphics.TOP|Graphics.LEFT);
          str = str.substring(pointS + 1);
          pointS = ii = 0;
          y += fontB.getHeight();
        }
      }
    }
    return y;
  }

Перенос только по пробелу, так как по граматике (или чему там еще) после запятой и точки обязательно должен идти пробел.
Возможно чтото лишнее есть, написано на вскидку.
Первый и последний парамерт понятен надеюсь, X и Y это координаты начала рисования, W - ширина, которую можно использовать. fontB - фонт которым рисуете.

Это сообщение отредактировал(а) SevenM - 26.10.2006, 05:24
PM MAIL WWW ICQ   Вверх
javastic
Дата 26.10.2006, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

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



Samuil, у гуру время не резиновое. Подожди, ответят ещё.
А вообще бы сам попробовал для начала сделать. smile Я конечно понимаю что хочется код сразу и сейчас, но не всегда так бывает. Тем более что всё в описание есть в API, это же не секретная информация.

Это сообщение отредактировал(а) javastic - 26.10.2006, 09:14


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Samuil
Дата 26.10.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

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



SevenM, Спасибо!- лови плюс!
javastic, Сам пробовал но так и не решил эту проблемму, если интересно могу код привести!

Цитата

Samuil, у гуру время не резиновое. Подожди, ответят ещё.

Понимаю smile 


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

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


 




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


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

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