繁体   English   中英

我想在单击X(关闭按钮)时关闭框架

[英]I want to make my frame close when the X(close button) is clicked

我有一个小模板,我的目的是通过一个简单的java应用程序通过netbeans 7.1实现一个applet(如不使用Javacard,Netbeans平台等..只是一个简单的Java应用程序,applet在应用程序运行时初始化)

当我按下netbeans中的运行按钮并且我在applet内部运行时,我已设法调用applet但是,我似乎无法让它关闭,我有一种可怕的感觉,人们会告诉我使用jFrame和实现EXIT_ON_CLOSE方法。

这不是我想知道怎么做的,我的任务是使用Frames!= jFrames来实现它。 我希望有人可以提供帮助,因为它现在有点麻烦我,我必须继续使用涉及其使用的Java任务。

附上A的代码/类:appletframe和B:applet

    * 1.4   Write an applet to display a line of text. 
    * The text should then change its font size and style (bold, italic, underline) 
    * depending on where the mouse is clicked on the screen.
    */
   package appletframe;
   import java.awt.Graphics;
  import java.awt.Frame;
 import java.applet.Applet;

  /**
  * @author MuthaLoad aka Gruffy2012
  */

  import java.awt.*;

  public class AppletFrame extends Applet{

 public static void main(String[] args) {

/*construct needs object instances*/
MrApplet mrApplet = new MrApplet(); // create instance/obj of MrApplet 
Frame myFrame = new Frame("Applet"); // create frame "title optional"
//setDefaultCloseOperation(myFrame.EXIT_ON_CLOSE);(jFrame- not wanted)

/* add applet to the frame*/
//myFrame.addWindowListener();
myFrame.add(mrApplet, BorderLayout.CENTER);
myFrame.setBounds(10,10,500,500);
myFrame.setVisible(true); // step to make frame visible

/*initialize instance of mrApplet*/
mrApplet.init();
} // end main
} // end class

B:小程序

   package appletframe;

import java.awt.*; //for buttons
import java.awt.event.*; //for events
import java.applet.*; //main applet api`s
import java.awt.Graphics; //graphics

public class MrApplet extends Applet implements ActionListener
{

private static final long serialVersionUID = 1L;
Button btnClick;
String msg = "";

public void init() 
{
    // TODO start asynchronous download of heavy resources
    setSize(500, 500);
    Button btnClick = new Button("Press Me ");
    btnClick.addActionListener(this);
    add(btnClick);
}
public void actionPerformed(ActionEvent e) 
{
    //throw new UnsupportedOperationException("Not supported yet.");
    msg = "Yay, the button works";
            repaint();
}     
public void paint (Graphics g)
{
    g.setFont(new Font("Serif", Font.ITALIC, 30)); //new font obj, font , font style, font size
    g.setColor(new Color(0,255,0)); //new color obj, r,g,b
    g.drawString(msg, 40, 80); 

}  
// TODO overwrite start(), stop() and destroy() methods
}

再次感谢阅读,并澄清任何困惑..我正在寻找关于退出时关闭我的applet和框架窗口的解决方案的指针,而不是使用jFrame重新实现它,虽然我知道这将在第一次更容易实例。 谢谢你,并一如既往地感谢你的所有建议。 gruffy321

在ApplicationFrame类的末尾添加此行。

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

你想用Frame而不是JFrame来做,然后你必须将WindowListener事件添加到帧中,并且必须覆盖windowClosing()方法。

myFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
   System.exit(0);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM