当前位置:编程学习 > JAVA >>

这个JAVA程序执行以后怎么没有画出直线?

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);
       }
 }         
           --------------------编程问答-------------------- 重写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);
}
}
--------------------编程问答-------------------- 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);
       }
 }
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,