2017-09-16 134 views
-1

这里关闭的Java框架是一段代码,我写的,但在应用程序的顶部的关闭按钮不起作用,请帮助通过单击X按钮

代码:

import java.awt.*; 
 
import java.awt.event.*; 
 

 
public class App extends Frame implements MouseMotionListener { 
 
\t App() { 
 
\t \t addMouseMotionListener(this); 
 
\t \t setSize(200, 200); 
 
\t \t setVisible(true); 
 
\t } 
 

 
\t public void mouseDragged(MouseEvent e) { 
 
\t \t Graphics g = getGraphics(); 
 
\t \t g.setColor(Color.RED); 
 
\t \t g.fillRect(e.getX(), e.getY(),10, 10); 
 
\t } 
 

 
\t public void mouseMoved(MouseEvent e) { 
 
\t } 
 

 
\t public static void main(String[] args)throws Exception { 
 
\t \t App a = new App(); 
 
\t } 
 

 
}

图片:

Application Screenshot The close button is not working

回答

0

您需要在初始化applet时添加Listener和调用dispose。

addWindowListener(new WindowAdapter() { 
     public void windowClosing(WindowEvent e) { 
      dispose(); 
     } 
    }); 

您需要在构造函数中添加上面的代码行。

0

与少的代码试试:

this.addWindowListener(new WindowAdapter() { 

     public void windowClosing(WindowEvent evt) { 
      System.exit(0); 
     } 

}); 

你必须将其插入到“应用程序()”。它将关闭程序“System.exit(0);”当你按下关闭按钮时,你会看到 。

0

我不是使用AWT常常但继承人我的解决方案:)

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

添加一个新的WindowAdapter的,以你的App构造函数和调用System.exit(0),在窗口关闭事件

0

您可以使用WindowContants,JFrame#setDefaultCloseOperation以实现所需的动作。这使您可以处理帧,完全终止应用程序,还有一些人在构造一行:

this.setDefaultCloseOperation(WindowContants.DISPOSE_ON_CLOSE); 

将部署包含应用程序的框架。这足以终止您提交的程序。

虽然这种方法不允许处理任何事件,但只是关闭了框架。