Java基于线程实现带有滚动效果的Label标签实例_java

本文实例讲述了Java基于线程实现带有滚动效果的Label标签。分享给大家供大家参考。具体如下:

import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
 * Java中用线程实现带有滚动效果的Label标签
 */
public class Test extends JFrame {
 private static final long serialVersionUID = -2397593626990759111L;
 private JPanel pane = null;
 private MoveLabel label = null;
 public Test() {
 super("Test");
 pane = new JPanel();
 label = new MoveLabel("带有滚动效果的标签");
 pane.add(label);
 this.getContentPane().add(pane);
 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 this.setSize(300, 200);
 this.setVisible(true);
 }
 public static void main(String args[]) {
 new Test();
 }
 /**
 * 带有滚动效果的Label标签,可继续拓展很多特效,例如颜色变换、速度变换等
 */
 private class MoveLabel extends JLabel implements Runnable {
 private static final long serialVersionUID = 1891684760189602720L;
 private String text = null;
 private Thread thread = null;
 private int x = 0;
 private int w = 0, h = 0;
 public MoveLabel(String text) {
  super(text);
  this.text = text;
  thread = new Thread(this);
  thread.start();
 }
 public String getText() {
  return text;
 }
 public void setText(String text) {
  super.setText(text);
  this.text = text;
 }
 protected void paintComponent(Graphics g) {
  super.paintComponent(g);
  g.setColor(this.getBackground());
  g.fillRect(0, 0, w = this.getWidth(), h = this.getHeight());
  g.setColor(this.getForeground());
  g.setFont(this.getFont());
  g.drawString(text, x, h - 2);
 }
 public void run() {
  while (true) {
  x -= 2;
  if (x < -w) {
   x = w;
  }
  this.repaint();
  try {
   Thread.sleep(50);
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
  }
 }
 }
}

希望本文所述对大家的java程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, 线程
, 滚动效果
Label标签
ios label滚动显示、ios label文字滚动、swift label 滚动、ios 滚动label、ios label 上下滚动,以便于您获取更多的相关知识。

时间: 2025-01-26 06:43:20

Java基于线程实现带有滚动效果的Label标签实例_java的相关文章

基于jquery图片左右滚动效果源码

基于jquery图片左右滚动效果源码 这是一款来自网络的图片可控的左右滚动效果源码,有需要的朋友可以参考一下. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>slide</title> <script type="text/网页特效" src="http://ajax.googleapis.com/ajax

java按字节截取带有汉字的字符串的解法(推荐)_java

由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param

javascript实现滚动效果的数字时钟实例_javascript技巧

网上关于javascript实现数字时钟效果的实例很多,但是本文给大家介绍的是滚动效果的数字时钟.小编觉得效果很炫,下面分享给大家. 先来看看很炫的效果 下面是代码实例 javascript代码部分: window.onload=function(){ function toDou(n){ return n<10?"0"+n:""+n; } var oImg=document.getElementsByTagName("img"); set

Java读取txt文件和写入txt文件的简单实例_java

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

Java用自定义的类作为HashMap的key值实例_java

这是Java中很经典的问题,在面试中也经常被问起.其实很多书或者文章都提到过要重载hashCode()和equals()两个方法才能实现自定义键在HashMap中的查找,但是为什么要这样以及如果不这样做会产生什么后果,好像很少有文章讲到,所以写这么一篇来说明下. 首先,如果我们直接用以下的Person类作为键,存入HashMap中,会发生发生什么情况呢? public class Person { private String id; public Person(String id) { thi

基于jquery 不间断滚动效果实现代码

神舟八号飞船返回舱在内蒙古着陆 潜山600万建皖公像 官方称是"安徽守护神" <看客>第116期:人在"堵"途

Java网络编程之简单的服务端客户端应用实例_java

本文实例讲述了Java网络编程之简单的服务端客户端应用.分享给大家供大家参考.具体如下: 在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用于TCP协议. 一.连接到服务器 我们可以使用Socket类的构造函数来打开一个套接字,如 Socket sk = new Socket("210.0.235.14",13); 其中,210.0.23

Java设计模式之装饰者模式详解和代码实例_java

装饰者模式可以给已经存在的对象动态的添加能力.下面,我将会用一个简单的例子来演示一下如何在程序当中使用装饰者模式. 1.装饰者模式 让我们来假设一下,你正在寻找一个女朋友.有很多来自不同国家的女孩,比如:美国,中国,日本,法国等等,他们每个人都有不一样的个性和兴趣爱好,如果需要在程序当中模拟这么一种情况的话,假设每一个女孩就是一个Java类的话,那么就会有成千上万的类,这样子就会造成类的膨胀,而且这样的设计的可扩展性会比较差.因为如果我们需要一个新的女孩,就需要创建一个新的Java类,这实际上也

Java解压缩zip - 解压缩多个文件或文件夹实例_java

Java解压缩zip - 多个文件(包括文件夹),具体如下: 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压. 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参数列表里面... ZipFiles(zip,"abc",new File("d:/English"),new File("d:/发放数据.xls")); 测试文件目录结构: 测试的压缩内容:English文件夹和同级的两个excel文件 File[]