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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите=>Как плавно обесцветить текст?), Черный текст надо плавно сделать белым 
:(
    Опции темы
DirtySpirit
Дата 9.7.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день!

Решил я сделать простую программку, которая выводит надпись изначально черным и затем, эта надпись должна плавно стать белой. 
Вроде делал все правильно, но результат получился не таким, которого я желал. 
Получилось, что надпись изначально черная и цвет меняет, только когда окошко (в котором она появляется) растягивают, либо сжимают.

Вот код
Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class Game2
{
    public static void main(String[] args)
    {
        System.out.println("It is Game!");
        System.out.println("-----------");
        ActionListener listener = new gTimer();
        Timer t = new Timer(500, listener);
        t.start();
        gFrame frame = new gFrame();
        frame.setVisible(true);
    }
}
class gFrame extends JFrame
{
    public gFrame()
    {
        setBounds(400, 200, 0, 0);
        setUndecorated(true);
    }
}
class gTimer implements ActionListener
{
    int color=0;
    int i = 0;
    gOpenWindow g1=new gOpenWindow();
    gFrameSettings g2=new gFrameSettings();
    public void actionPerformed(ActionEvent event)
    {
        System.out.println("i = " + i + " ,color = " + color);
        if (i <= 255)
        {
            if (i==0) g1.gCreateFrame();
            color=i;
            i+=10;
        } else i=1;
        g2.gCallPanel();
    }
    class gOpenWindow
    {
        public void gCreateFrame()
        {
            gFrameSettings newFrame = new gFrameSettings();
            newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            newFrame.setVisible(true);
        }
    }
    class gFrameSettings extends JFrame
    {
        public gFrameSettings()
        {
            setBounds(50, 50, 200, 200);
            setUndecorated(false);
            gCallPanel();
        }
        public void gCallPanel ()
        {
            gPanel panel = new gPanel();
            Container pane = getContentPane();
            pane.add(panel);
        }
    }
    class gPanel extends JPanel
    {
        public void paintComponent(Graphics g)
        {
            super.paintComponent(g);
            Graphics2D g2D = (Graphics2D) g;
            setBackground(Color.WHITE);
            g2D.setPaint(new Color(color,color,color));
            String gTitle="TEXT";
            Font gFont=new Font("SansSerif",Font.BOLD,36);
            g2D.setFont(gFont);
            g2D.drawString(gTitle,50,80);
        }
    }
}

Язык Java я начал учить недавно, много не знаю, поэтому прошу не ругаться на меня в теме.

Заранее, Спасибо!
PM MAIL   Вверх
jk1
Дата 9.7.2010, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Каким-то вы очень сложным путем пошли, все гораздо проще делается
Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Sample {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        final JLabel label = new JLabel("Text");
        label.setFont(new Font("SansSerif", Font.BOLD, 36));
        new Timer(50, new ActionListener() {
            int i = 0;

            public void actionPerformed(ActionEvent e) {
                label.setForeground(new Color(i++, i++, i++));
                label.repaint();
                if (i > 250) i = 0;
            }
        }).start();
        frame.add(label);
        frame.pack();
        frame.setVisible(true);
    }
}



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
DirtySpirit
Дата 10.7.2010, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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