import java.awt.*;
public class App11_26{
    public static void main(String[] args){
        Frame m=new Frame("drawing line");
         m.setSize(400,200);
         m.setBackground(Color.black);
         m.setVisible(true);
        Graphics g=m.getGraphics();
        g.setColor(Color.gray);
        g.drawLine(25,75,175,25);
       }
 }         
          

解决方案 »

  1.   

    重写paint方法,运行这个代码试试:import javax.swing.JFrame;public class LineTest { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub new T();
    }}class T extends JFrame {
    public T() { setBounds(200, 100, 200, 500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    } @Override
    public void paint(Graphics g) {
    super.paint(g);
    g.drawLine(40, 40, 100, 100);
    }
    }
      

  2.   

    GUI  是多线程程序  在主线程结束后  图形界面线程依然再继续  
    有一个线程会自动调用upDate方法
    upDate会调用 paint
    除了楼上说的方法还有一种方法修改import java.awt.*;
    public class App11_26{
        public static void main(String[] args) throws InterruptedException{
            Frame m=new Frame("drawing line");
             m.setSize(400,200);
             m.setBackground(Color.black);
             m.setVisible(true);
             Thread.sleep(100);   //修改处
            Graphics g=m.getGraphics();
            g.setColor(Color.gray);
            g.drawLine(25,75,175,25);
           }
     }