这个程序代码为什么只显示窗口,而不显示字符串呢?import javax.swing.*;
import java.awt.*;
class DrawPanel extends JPanel
{
public void painComponent(Graphics g)
{
g.drawString("Hello,world",75,100);
}
}
class DrawFrame extends JFrame
{
public DrawFrame()
{
setTitle("Hello,world");
setSize(300,200);
DrawPanel panel=new DrawPanel();
add(panel);
}
}
public class Test
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
DrawFrame frame=new DrawFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
求教!!!
新手

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    class DrawPanel extends JPanel
    {
             public void painComponent(Graphics g)
             {
                    g.drawString("Hello,world",75,100);
             }
    }
    class DrawFrame extends JFrame
    {
            public DrawFrame()
            {
                    setTitle("Hello,world");
                    setSize(300,200);
                    DrawPanel panel=new DrawPanel();
                    add(panel);
             }
    }
    public class Test
    {
            public static void main(String[] args)
            {
                    EventQueue.invokeLater(new Runnable()
                    {
                            public void run()
                            {
                                    DrawFrame frame=new DrawFrame();
                                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                    frame.setVisible(true);
                             }
                     });
             }
    }
      

  2.   

    painComponent 
    => paintComponent 在方法前加上 @Override 可以避免这类错误。