如题不知为什么不能打印出那个pain里面的句子还有画出线来 请教了,谢谢了package javagui;
import java.awt.*;
public class JavaGUI extends Frame {
        public JavaGUI(){
            Dimension d = new Dimension(400,400);
            setSize(d);
            setTitle("The first GUI");
            setVisible(true);
            setBackground(Color.BLUE);
        }
        public void pain(Graphics g){
            g.drawString("This is the first application", 10,40);
            g.drawLine(0, 0, 11, 11);
        }
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hello world");
         JavaGUI myjavagui = new JavaGUI();
    }
}

解决方案 »

  1.   

     public void pain(Graphics g) 那个pain改成 paint
      

  2.   

    你的想法是 覆盖Frame的paint方法还是自己写一个pain( )方法啊 
      

  3.   

    而且一般画图 都是在JPanel上画的不在JFrame上直接画 。 你可以自己写个类MyPanel继承JPanel 然后重写父类paint方法, 然后在JFrame中添加一个MyPanel,就可以看到你想要的效果了 import java.text.*;
    import java.util.*;import java.awt.*;import javax.swing.JFrame;
    import javax.swing.JPanel;public class JavaGUI extends JFrame {
    MyPanel1 mp; public JavaGUI() {
    mp = new MyPanel1();

     Dimension d = new Dimension(400,400); 
     setSize(d);
     
    setTitle("The first GUI");
    setVisible(true);
    this.add(mp);
    setBackground(Color.blue);
    } public static void main(String[] args) {
    JavaGUI myjavagui = new JavaGUI();
    }
    }class MyPanel1 extends JPanel {
    public void paint(Graphics g) {
    g.drawString("This is the first application", 10, 40);
    g.setColor(Color.red);
    g.drawLine(0, 0, 11, 11);
    }}