java 任务栏程序_Java: 滚动文字: 任务栏按钮和JLabel

这个Java程序创建了一个滚动文字的示例,它不仅在JLabel中显示滚动的文字,还会将滚动的内容实时更新到窗口的任务栏标题上。通过一个后台线程不断更新文字并调用repaint()方法,实现了文字的滚动效果。程序使用了Swing组件和线程来完成这一功能。
摘要由CSDN通过智能技术生成

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.awt.datatransfer.*;importjava.io.*;publicclassTestextendsJPanel {privatestaticfinallongserialVersionUID=4767050156491994899L;privateJLabel            label;privateString            scrolledText;publicTest() {

scrolledText="滚动文字 Demo";

label=newJLabel(newString(scrolledText));this.add(label);

Thread thread=newThread(newTextChanger(label));

thread.start();

}//@Override//protected void paintComponent(Graphics g) {//super.paintComponent(g);Graphics2D g2d = (Graphics2D) g;}privatestaticvoidcreateAndShowGUI() {

JFrame frame=newJFrame("Frame");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400,400);

frame.getContentPane().add(newTest());

frame.setVisible(true);

}publicstaticvoidmain(String[] args)throwsException {

SwingUtilities.invokeLater(newRunnable() {publicvoidrun() {

Test.createAndShowGUI();

}

});

}

}classTextChangerimplementsRunnable {privateJLabel label;publicTextChanger(JLabel label) {this.label=label;

}publicvoidrun() {try{while(true) {

String text=label.getText();if(text.length()>1) {

text=text.substring(1, text.length())+text.charAt(0);

label.setText(text);//Get the frameComponent frame=SwingUtilities.getRoot(label);if(frame!=null&&(frameinstanceofJFrame)) {

((JFrame)frame).setTitle(text);

}

label.repaint();

}

Thread.sleep(300);

}

}catch(InterruptedException ex) {

ex.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值