该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

写了个简单的例子给你:

public class TextChangePane extends JComponent implements ActionListener {

private static final int CYCLE_TIME = 10000;

private long startTime = 0;

private long nowTime = 0;

private float move = 0.0001f;

private Timer timer;

private String text = "一二三四五六七八九零";

private Color startColor = Color.RED;

private Color endColor = Color.BLUE;

public TextChangePane() {

timer = new Timer(30, this);

timer.setInitialDelay(1000);

startTime = 1000 + System.nanoTime() / 1000000;

timer.start();

}

@Override

protected void paintComponent(Graphics g) {

float[] fractions = {0.f, move, move + 0.0001f, 1.f};

Color[] colors = {startColor, startColor, endColor, endColor};

FontMetrics metrics = g.getFontMetrics();

int length = metrics.stringWidth(text);

LinearGradientPaint paint = new LinearGradientPaint(0, 0, length, 0, fractions, colors);

Graphics2D g2d = (Graphics2D) g;

g2d.setPaint(paint);

g2d.drawString(text, 0, 20);

}

@Override

public void actionPerformed(ActionEvent e) {

nowTime = System.nanoTime() / 1000000;

long moveTime = nowTime - startTime;

if (moveTime > CYCLE_TIME) {

timer.stop();

}

move = (float)moveTime / (float)CYCLE_TIME;

if (move < 0.0001f) {

move = 0.0001f;

}

if (move > 0.9998f) {

move = 0.9998f;

}

repaint();

}

/* 测试用方法 */

private static void createAndShowGUI() {

JFrame frame = new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400, 300);

frame.setLocationRelativeTo(null);

frame.add(new TextChangePane());

frame.setVisible(true);

}

/* 测试用方法 */

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

createAndShowGUI();

}

});

}

}

java 歌词_请问吧内有大神用JAVA做过桌面歌词吗相关推荐

  1. matlab神经网络 时间序列,请问吧里有大神做过MATLAB时间序列神经网络(NARX)吗?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问吧里有大神做过MATLAB时间序列神经网络(NARX)吗?请教一下该神经网络的预测问题 我用网上的一个案例:知道2015年降雨我要预测该年水位.用往年 ...

  2. matlab narxnet,请问吧里有大神做过MATLAB时间序列神经网络(NARX)吗?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问吧里有大神做过MATLAB时间序列神经网络(NARX)吗?请教一下该神经网络的预测问题 我用网上的一个案例:知道2015年降雨我要预测该年水位.用往年 ...

  3. 移动硬盘设置java变量_移动硬盘Linux内搭建MyEcilipse8.6开发环境

    还是在去年的时候,买了一个西数WD 3200BEV的320GB移动硬盘,闲来没事瞎折腾,在移动硬盘上安装了个Linux系统,在我的台式机和朋友的笔记本上运行成功,现在已经安装好了MyEcilipse8 ...

  4. aix系统java堆_浅谈AIX环境下的Java性能调优

    1.什么是Java Java 是一种面向对象的编程语言.它以 C++ 为模型,被设计成小的.简单的.在源和二进制级别跨平台的可移植的语言,Java 程序(applets 和应用程序)可以运行于任何已经 ...

  5. 和java通信_[源码和文档分享]基于JAVA的即时通信软件

    一.设计任务书 1.1 设计任务 本文设计的是一个简单的即时通信软件,利用 Java Socket 进行点到点通信,其工作机制模仿即时通信软件的基本功能,已实现的功能有:客户端登录 客户端退出 群组成 ...

  6. 修改远程桌面端口_花生壳(内网穿透)服务做远程桌面登录

    很多小伙伴在休假时偶尔需要远程处理公司文件,然而公司的路由器我们一般接触不到,也不方便擅自修改配置.好消息,现在花生壳(内网穿透)服务不需要在路由器上设置端口映射啦.下面来看B哥如何通过花生壳(内网穿 ...

  7. java 分析java死锁_有益的CountDownLatch和棘手的Java死锁

    java 分析java死锁 您是否曾经使用过java.util.concurrent.CountDownLatch ? 这是在两个或多个线程之间实现同步的非常方便的类,在该类中,一个或多个线程可以等待 ...

  8. 安装java环境_(一)环境安装之Java

    安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使 ...

  9. cmd编译java命令_使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

最新文章

  1. 易传媒CTO程华奕:搭建私有DMP 你必须知道的几件事
  2. 网站推广专员浅析网站推广期间如何降低网站优化短板威胁?
  3. php怎么四舍五入,php 四舍五入的三种实现方法
  4. MongoDB 4.2 正式发布,支持分布式事务!
  5. OpenCV使用MSER检测末端区域的实例(附完整代码)
  6. 项目常用的PHP代码
  7. NIO学习--缓冲区
  8. 【LeetCode笔记】112 113. 路径总和 I II(Java、递归、DFS)
  9. 编译安装imagick出错:make: *** [imagick_class.lo] Error 1
  10. ubuntu16.04使用ipv6
  11. cesium +vue项目怎么运行
  12. VC6.0+番茄助手安装教程
  13. windows怎么删除服务, OpenService 失败 5,拒绝访问解决
  14. Android 强制设置应用横屏或竖屏
  15. 博客优化、收录、RSS技巧
  16. Snaker的回退流程源码分析
  17. IDEA显示树状目录结构
  18. 部门月度例会的一些创新,让会议参与者不再那么沉闷枯燥
  19. oracle账号共享,登陆后可下载mysql和jdk
  20. 大数据技术高频面试题汇总

热门文章

  1. codeforces 617A-C语言解题报告
  2. 英特尔预计5年内将成智能手机芯片大厂
  3. 职场新人的入门法则:少想、多做、立即执行!
  4. Eclipse GCC 入门
  5. JDK和CGLIB动态代理区别
  6. node 安装 webpack
  7. 基于Sql Server 2008的分布式数据库的实践
  8. 开博第一篇,聊聊 最基本的 “==” 与 “===”区别
  9. Juqery Html(),append()等方法的Bug
  10. 白云山脚下的廉价菜-饮胜酒家