На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Java FAQ
1. Данный раздел предназначен только для публикации готовых статей, с вопросами обращайтесь в соответствующие подразделы.
2. Все вопросы, связанные с ошибками или неточностями в представленных материалах направляйте модераторам персональным сообщением.
3. Все темы и сообщения в разделе премодерируются. Любое сообщение или тема будут доступны остальным участникам после одобрения модераторами.
Модераторы: dark_barker, wind
  
> Создание эффекта отбрасывания тени , статья из старых Java FAQ
    В данном примере показан один из вариантов создания окна с текстом, который отбрасывает тень.

    ExpandedWrap disabled
      import java.awt.*;
      import java.awt.font.*;
      import java.awt.geom.*;
      import java.awt.event.*;
      class ShEffect extends Frame {
        ShEffect (String s)
        {
          super(s);
          setSize(700, 200);
          setVisible(true);
          addWindowListener(new WindowAdapter()
          {
            public void windowClosing(WindowEvent ev)
            {
              System.exit(0);
            }
          });
        }
        public void paint (Graphics gr)
        {
          Graphics2D g=(Graphics2D)gr;
          int w=getSize().width, h=getSize().height;
          FontRenderContext frc=g.getFontRenderContext();
          String s="The shadow effect";
          Font f=new Font("Serif", Font.BOLD, h/3);
          TextLayout tl=new TextLayout(s, f, frc);
          AffineTransform at=new AffineTransform();
          at.setToTranslation(w/2-tl.getBounds().getWidth()/2, h/2);
          Shape sh=tl.getOutline(at);
          g.draw(sh);
          AffineTransform atsh=new AffineTransform(1, 0.0, 1.5, -1, 0.0, 0.0);
          g.transform(at);
          g.transform(atsh);
          Font df=f.deriveFont(atsh);
          TextLayout dtl=new TextLayout(s, df, frc);
          Shape sh2=dtl.getOutline(atsh); //Рисуем контур текста без заливки
          g.fill(sh2);
        }
        public static void main (String[] args)
        {
          new ShEffect("The shadow effect");
        }
      }

    [Автор - Angie]
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0177 ]   [ 16 queries used ]   [ Generated: 28.03.24, 23:12 GMT ]