日期:2014-05-20  浏览次数:20663 次

求教java中的drawString()方法
这个程序代码为什么只显示窗口,而不显示字符串呢?

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);
}
});
}
}
求教!!!
新手
------最佳解决方案--------------------
painComponent 
=> paintComponent 

在方法前加上 @Override 可以避免这类错误。
------其他解决方案--------------------
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);
                         }