写了个函数绘制的applet把它转成application时出现了错误
package xf;
import xf.Main;
import xf.Hanshu;
import java.awt.Frame;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class MainFrame {
public static void main(String[] args)
{
Frame main=new Frame("函数绘制应用");
Main mm=new Main();
main.add("Center",mm);
main.setSize(200,200);
main.validate();
main.setVisible(true);
main.addWindowListener(new WindowControl(mm)); mm.init();
mm.start();
}}
如果去掉那句就可以执行,但是不能正常关闭程序!!!初学者,不知道怎么用

解决方案 »

  1.   

    不提倡使用Frame,而且在Frame中解决关闭的问题较麻烦。
    建议先把Frame换成JFrame
    然后在代码中加一句:
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

  2.   

    Frame 与JFrame的区别有什么不同。请解释。多谢
      

  3.   


    “JFrame”比“Frame”前头多个“J”,呵呵。开个玩笑,呵呵。JFrame是Swing组件,Frame则属于AWT的范畴。个人认为可以说JFrame是用来取代Frame的。至于两者的区别,这种问题可查API文档或其它资料得到解答(有删减):JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其惟一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。……
    与 Frame 不同,当用户试图关闭窗口时,JFrame 知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏 JFrame。要更改默认的行为,可调用方法 setDefaultCloseOperation(int)。(这就是刚才回答楼主的问题时所用到的。)
      

  4.   

    错误提示说 WindowControl can't resolved to a type! 
      

  5.   

    错误提示说 WindowControl can't resolved to a type!
      

  6.   

    是的。WindowControl在目前的JDK中是不存在的,
    是否是别人写的一个类?是否是旧时的API现在已经去除了?根据你上边的描述“如果去掉那句就可以执行,但是不能正常关闭程序!!!”
    我以为那句红色的代码你去掉了,只剩下关闭的问题了呢?呵呵。你把那句代码去掉吧。
      

  7.   

    [接6楼]
    如果没猜错,WindowControl这个类应该是你自己去写,并且应该实现WindowListener接口。
    main.addWindowListener(new WindowControl(mm));这句代码就是用来解决Frame的关闭问题的。
    但是现在我们使用JFrame,main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)就可以解决问题,所以已经不需要那句代码了。
      

  8.   

    恩 试了一下JFrame问题解决了,
    谢谢
    呵呵 新手 所以写代码都是东拼西凑的
      

  9.   

    恩 试了一下JFrame问题解决了,
    谢谢
    呵呵 新手 所以写代码都是东拼西凑的