2011-01-25 6 views
1

Раньше я писал Tect Ticker, но, к сожалению, я был слабым на Java, и я должен сделать эту работу на Linux так: Мне нужен JLabel, который обрабатывает текст, и этот текст должен двигаться, как News Ticker, он должен прокручивать текст внутри JPanel от End to Being JPanel Bounds по горизонтали.Прокрутка текста с прозрачным фоном

Если у кого-то был этот опыт, чем я поделился бы со мной.

Приветствие

Update: Я решил эту проблему, используя этот пример Java Translucent и при следующем использовании примера Винсента Ramdhanie я мог анимировать его.

+0

Я бы предложил вам ознакомиться с кодом существующего тикета новостей, например [jrsst] (http://jrsst.sourceforge.net/). – Riduidel

+0

Да, это здорово, но мне нужен прозрачный (прозрачный). – Burimi

ответ

0

Вот пример 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, чтобы увидеть его в действии. Также строковый алгоритм может оказаться не оптимальным, но он работает.

+0

Это может быть лучше, если мы поместим JLabel в JPanel и JPanel в JFrame, чем переместим JLabel (изменим местоположение внутри цикла) с правой границы налево, но прозрачный фон очень важен – Burimi