Java基于線程實(shí)現(xiàn)帶有滾動效果的Label標(biāo)簽實(shí)例
更新時間:2015年07月20日 10:41:38 作者:鑒客
這篇文章主要介紹了Java基于線程實(shí)現(xiàn)帶有滾動效果的Label標(biāo)簽,實(shí)例分析了java線程的使用技巧及l(fā)abel標(biāo)簽的實(shí)現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下
本文實(shí)例講述了Java基于線程實(shí)現(xiàn)帶有滾動效果的Label標(biāo)簽。分享給大家供大家參考。具體如下:
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* Java中用線程實(shí)現(xiàn)帶有滾動效果的Label標(biāo)簽
*/
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("帶有滾動效果的標(biāo)簽");
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標(biāo)簽,可繼續(xù)拓展很多特效,例如顏色變換、速度變換等
*/
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程序設(shè)計有所幫助。
您可能感興趣的文章:
- JavaWeb開發(fā)之JSTL標(biāo)簽庫的使用、 自定義EL函數(shù)、自定義標(biāo)簽(帶屬性的、帶標(biāo)簽體的)
- javaWeb自定義標(biāo)簽用法實(shí)例詳解
- JSP自定義標(biāo)簽-標(biāo)簽屬性_動力節(jié)點(diǎn)Java學(xué)院整理
- Java開發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽
- Java自定義簡單標(biāo)簽實(shí)例
- java基礎(chǔ)之標(biāo)簽、按鈕和按鈕事件簡介
- java實(shí)現(xiàn)利用String類的簡單方法讀取xml文件中某個標(biāo)簽中的內(nèi)容
- java使用正則表達(dá)式過濾html標(biāo)簽
- Java自定義標(biāo)簽用法實(shí)例分析
相關(guān)文章
Spring MVC 學(xué)習(xí) 之 - URL參數(shù)傳遞詳解
本篇文章主要介紹了SpringMVC-URL參數(shù)傳遞,在學(xué)習(xí) Spring Mvc 過程中,有必要來先了解幾個關(guān)鍵參數(shù),有興趣的可以了解一下。2017-01-01
淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)
本篇文章主要為大家介紹了Java?NIO?中直接緩沖區(qū)和非直接緩沖區(qū)的定義以及使用流程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11
springboot實(shí)現(xiàn)指定mybatis中mapper文件掃描路徑
這篇文章主要介紹了springboot實(shí)現(xiàn)指定mybatis中mapper文件掃描路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Java如何將處理完異常之后的程序能夠從拋出異常的地點(diǎn)向下執(zhí)行?
今天小編就為大家分享一篇關(guān)于Java如何將處理完異常之后的程序能夠從拋出異常的地點(diǎn)向下執(zhí)行?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04

