这个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方法,运行这个代码试试:
--------------------编程问答-------------------- GUI 是多线程程序 在主线程结束后 图形界面线程依然再继续
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);
}
}
有一个线程会自动调用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