Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带透明背景的滚动文本_Java_Animation_Jlabel - Fatal编程技术网

Java 带透明背景的滚动文本

Java 带透明背景的滚动文本,java,animation,jlabel,Java,Animation,Jlabel,我曾经写过一个Tect Ticker,但不幸的是,我对Java很弱,我应该在Linux上实现这一点,所以: 我需要一个处理文本的JLabel,该文本应该像新闻自动售票机一样移动,它应该将JPanel中的文本从端点水平滚动到JPanel边界 如果有人有过这样的经历,我将非常感谢与我分享 干杯 更新: 我通过使用这个例子解决了这个问题,接下来使用Vincent Ramdhanie的例子我可以为它制作动画。这里是一个带有标签的JPanel的例子,它使用一个简单的线程来滚动一些文本。您可以修改它以满足您

我曾经写过一个Tect Ticker,但不幸的是,我对Java很弱,我应该在Linux上实现这一点,所以: 我需要一个处理文本的JLabel,该文本应该像新闻自动售票机一样移动,它应该将JPanel中的文本从端点水平滚动到JPanel边界

如果有人有过这样的经历,我将非常感谢与我分享

干杯

更新:
我通过使用这个例子解决了这个问题,接下来使用Vincent Ramdhanie的例子我可以为它制作动画。

这里是一个带有标签的JPanel的例子,它使用一个简单的线程来滚动一些文本。您可以修改它以满足您的需要

 public class Scroller extends JPanel implements Runnable{
  JLabel label;
  String str = "The Message to Scroll ";

  public Scroller(){
    super();
    label = new JLabel(str);
    add(label);
    Thread t = new Thread(this);
    t.start();
  }

  public void run(){
    while(true){
        char c = str.charAt(0);
        String rest = str.substring(1);
        str = rest + c;
        label.setText(str);
        try{
            Thread.sleep(200);
        }catch(InterruptedException e){}
    }
  }
 }

因此,您可以将其放置在JFrame上,以查看其实际操作。此外,字符串算法可能不是最优的,但它是有效的。

如果我们将JLabel放入JPanel,并将JPanel放入JFrame,可能会比将JLabel(在循环中更改位置)从右边界移到左边界更好,但半透明背景非常重要。我建议您查看现有新闻代码,喜欢。是的,很好,但我需要一个透明(半透明)的。