退出按钮的退出功能

时间:2013-11-24 13:00:16

标签: java jframe

如何在我的“EXIT LAHH!”中实现退出功能。我点击它后按钮?我不确定使用什么代码。 我尝试了addActionListener,但我不确定需要添加到()..

import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestButton1 {
private Frame F;
private Button B;
private Button C;

public TestButton1(){
F = new Frame("Welcome!");
B = new Button("Press Me! \nSo that, you can genarate OUTPUT result at the CONSOLE");
B.setActionCommand("ButtonPressed");
C = new Button("EXIT LAHHH!");
C.setActionCommand("ButtonPressed");

//javax.swing.WindowConstants.EXIT_ON_CLOSE }

public void launchFrame(){
B.addActionListener(new mainclass());   

//Allow user to use the (X) close button
F.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent we){
            System.exit(0);
      }
    });


F.setLayout(new FlowLayout());
F.add(B);
F.add(C);


F.setBackground(Color.green);
B.setBackground(Color.pink);
C.setBackground(Color.white);
F.setSize(600, 70);
F.setVisible(true);     
}    
public static void main(String[] args) {
    TestButton1 guiApp = new TestButton1();
    guiApp.launchFrame();
}  }

3 个答案:

答案 0 :(得分:2)

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

C.addActionListener(new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent evt)
    {
        System.exit(0);
    }
});

答案 1 :(得分:1)

你想关闭Frame吗? Here is tutorial

尝试:frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));

答案 2 :(得分:1)

首先,我在哪里看不到“你的退出功能”所以我认为你的意思是System.exit(0);

我看到你在这里实现了一个WindowListener:

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

基本上将匿名内部类添加为侦听器。使用相同的概念,我们可以将 ActionListener 添加到按钮。

请考虑以下事项:

C.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        System.exit(0);
    }
});

按下并释放按钮时执行ActionListener,在actionPerformed()方法中执行代码。

此外,您还可以使用System.exit(0);

替换“按钮退出代码”中的setVisible(false);

像这样:

C.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        setVisible(false);
    }
});

在我看来,这是一个更优雅的解决方案,在结束程序之前关闭框架。