java swing 实现上下滚动文字·· 请教

解决方案 »

  1.   

    在哪里实现滚动文字?现有的Swing组件,比如TextArea实现不了吗
      

  2.   

    是这个意思?import java.awt.*;
    import javax.swing.*;public class MyPanel extends JPanel {
    private int y;
    private String s;

    public MyPanel() {
    y = 10;
    s = "和   谐";
    Thread t = new Thread(new Runnable() {
    public void run() {
    while(true) {
    y += 5;
    if(y > 280)
    y = 10;
    MyPanel.this.repaint();
    try {
    Thread.sleep(200);
    }
    catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
    });
    t.start();
    }

    public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setFont(new Font("宋体", Font.BOLD, 20));
    g.drawString(s, 15, y);
    }

    public static void main(String[] args) {
    JFrame f = new JFrame();
    f.setSize(100, 300);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(new MyPanel());
    f.setVisible(true);
    }
    }
      

  3.   

    JScrollPane a = new JScrollPane("在这里加入你要加入的文字容器");
    然后在JPanel,或直接什么Contain中加入a,就可以实现滚动了!
    自己去看看javax.swing.JScrollPane吧,那里有
      

  4.   

    楼长正解,使用JScrollPane 
    例如import java.awt.BorderLayout;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;public class JScrollPaneTest {
    private JFrame frame;
    private JScrollPane jsp;
    private JTextArea jta; 

    public JScrollPaneTest(){
    frame=new JFrame("JScrollPaneTest");
    jta=new JTextArea(50,50);
    jsp=new JScrollPane(jta);
    frame.add(jsp,BorderLayout.CENTER);
    frame.setSize(200, 200);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args){
    new JScrollPaneTest();
    }
    }