当前位置: 代码迷 >> J2SE >> 大家帮忙看看为什么小弟我的面板不显示内容
  详细解决方案

大家帮忙看看为什么小弟我的面板不显示内容

热度:192   发布时间:2016-04-24 01:52:15.0
大家帮忙看看为什么我的面板不显示内容
学习了Timer类,就按照书上的代码写了个消息在面板上移动的代码,但是现在消息不显示出来?怎么回事嗯?大家帮忙看看~
Java code
import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.Timer;public class AnimationDemo extends JFrame {    public AnimationDemo() {        add(new MovingMessagePanel("message moving"));    }        public static void main(String[] args) {        AnimationDemo frame = new AnimationDemo();        frame.setTitle("AnimationDemo");        frame.setSize(280, 100);        frame.setLocationRelativeTo(null);        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);        frame.setVisible(true);    }        static class MovingMessagePanel extends JPanel {        public MovingMessagePanel(String message) {            this.message = message;                        Timer time = new Timer(1000, new TimerListener());            time.start();        }                protected void paintComponet(Graphics g) {            super.paintComponent(g);                        if (x > getWidth()) {                x = -20;            }            x += 5;            g.drawString(message, x, y);        }                class TimerListener implements ActionListener {            public void actionPerformed(ActionEvent e) {                repaint();            }        }        private int x = 0;        private int y = 20;        private String message = "Welcome to Java";    }}


------解决方案--------------------
写错函数名了吧?

protected void paintComponet(Graphics g) {

Java code
        @Override        public void paint(Graphics g) {            // TODO Auto-generated method stub            super.paint(g);            if (x > getWidth()) {                x = -20;            }            x += 5;            g.drawString(message, x, y);        }
  相关解决方案