程序如下:
---------------------------------------------------------------
import java.awt.*;public class Awt1 extends Frame
{
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}

public void paint(Graphics g)
{
g.drawString("Not a hello world!!", 75,100);
}

public static void main(String []args)
{
Frame f = new Frame();
f.resize(300,200);
f.show();
}
}
---------------------------------------------------------------程序无法关闭,也无法显示那个字符串,编译时提示存在过时的API,是不是这些API过时了就无法正确显示效果了,我参考的是Core Java 2 6th Edition

解决方案 »

  1.   

    你的编译的时间,程序会警告你用了一个即将抛弃的方法。
    你可以把Frame换成JFrame
    然后在main中加入f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    这样程序就可以关闭了
    import java.awt.*;
    import javax.swing.*;
    public class Awt1 extends JFrame
    {
    public boolean handleEvent(Event evt)
    {
    if(evt.id==Event.WINDOW_DESTROY)
    System.exit(0);
    return super.handleEvent(evt);
    }

    public void paint(Graphics g)
    {
    g.drawString("Not a hello world!!", 75,100);
    }

    public static void main(String []args)
    {

    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.resize(300,200);
    f.show();
    }
    }
      

  2.   

    程序有两个问题
    1.无法关闭
      需要使用addWindowListener()来增加window event处理
    2.无法显示字符串
      增加一个Panel并显示字符串,再把这个Panel放在Frame中。
    完整的代码如下:(test.java)
    import java.awt.*;
    import java.awt.event.*;public class test extends Frame
    {
    Panel pane = new Panel(){
    public void paint(Graphics g)
    {
    g.drawString("Not a hello world!!", 1,11);
    }
    }; public boolean handleEvent(Event evt)
    {
    if(evt.id==Event.WINDOW_DESTROY)
    System.exit(0); return super.handleEvent(evt);
    }


    public static void main(String []args)
    {
    test f = new test();
    f.setTitle("test");
    f.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }

    });
    f.resize(300,200);
    f.add(f.pane);
    f.show();
    }
    }
      

  3.   

    我认同XXEDGE的说法,你不防去试试,应该可以的
    JFrame和Frame有必要要换吗?我个人认为这是风牛马不相及的事,