Java 如何实现Jbutton和事件侦听器来关闭应用程序?

Java 如何实现Jbutton和事件侦听器来关闭应用程序?,java,swing,jbutton,event-listener,Java,Swing,Jbutton,Event Listener,下面是我的代码…jButton将添加到GuI方法中。我需要一个jbutton来添加到容器中,还需要一个eventlistener来允许应用程序在按下时关闭 public class BeetsWk1 extends JFrame{ public BeetsWk1(){ GuI(); } public void GuI(){ FlowLayout layout = new FlowLayout(); layout.setAlignment(FlowLa

下面是我的代码…jButton将添加到GuI方法中。我需要一个jbutton来添加到容器中,还需要一个eventlistener来允许应用程序在按下时关闭

public class BeetsWk1 extends JFrame{

public BeetsWk1(){

     GuI();
}

public void GuI(){
      FlowLayout layout = new FlowLayout();

        layout.setAlignment(FlowLayout.CENTER);

    Container container;
    container = getContentPane();
    container.setBackground(new Color(052,062,138));
    container.setLayout(layout);

    JLabel label = new JLabel();
    label.setText ("Hello World" );
    label.setSize( 500, 400);
            label.setFont( new Font( "SanSerif", Font.PLAIN, 15) );
            label.setHorizontalAlignment( JLabel.CENTER );
    label.setForeground(Color.white);
    container.add( label );
}

    public static void main(String[] args) {
        // TODO code application logic here
            Dimension dimension = new Dimension(500, 500);
                        BeetsWk1 window = new BeetsWk1();
                       window.setVisible(true);
                        window.setSize(dimension);
                           window.setDefaultCloseOperation(window.EXIT_ON_CLOSE);
    }

    private Dimension Dimension(int i, int j) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
}
什么阻止了你

JButton button = new JButton();
button.setText("Some text");
getContentPane().add(button);

button.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent evt) {
           System.exit(0);
      }
});
什么阻止了你

JButton button = new JButton();
button.setText("Some text");
getContentPane().add(button);

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

如果您想关闭您的容器,那么

button.addActionListener(new ActionListener() {
       @Override 
      public void actionPerformed(ActionEvent evt) {
          jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//jframe is your JFrame Object
      }
});
或者,如果要关闭整个应用程序,则

system.exit(0);

如果您想关闭您的容器,那么

button.addActionListener(new ActionListener() {
       @Override 
      public void actionPerformed(ActionEvent evt) {
          jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//jframe is your JFrame Object
      }
});
或者,如果要关闭整个应用程序,则

system.exit(0);

对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。
label.setSize(500400)-->切勿在任何组件上调用
setSize/setXXXSize
。把所有的工作交给
LayoutManager
。如果有人邀请你使用
setSize/setXXXSize
或者建议你使用绝对布局/null布局:远离这个建议(这是Swing中最糟糕的建议,它们被认为是万恶之源;-))谢谢你的提示,纪尧姆!我对java非常陌生。如何使用布局管理器设置布局?如果contentPane中有不同的组件,如何在布局管理器中设置每个组件的大小?您认为哪些布局管理器最有用?对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。
label.setSize(500400)-->切勿在任何组件上调用
setSize/setXXXSize
。把所有的工作交给
LayoutManager
。如果有人邀请你使用
setSize/setXXXSize
或者建议你使用绝对布局/null布局:远离这个建议(这是Swing中最糟糕的建议,它们被认为是万恶之源;-))谢谢你的提示,纪尧姆!我对java非常陌生。如何使用布局管理器设置布局?如果contentPane中有不同的组件,如何在布局管理器中设置每个组件的大小?您认为哪种布局管理器最有用?1)请注意,第一种建议不会产生任何即时(可见)效果。用户需要单击框架中的
x
,使其生效。2) 将同时杀死任何其他GUI元素,以及任何非守护进程线程。1)请注意,第一个建议不会产生任何即时(可见)效果。用户需要单击框架中的
x
,使其生效。2) 将同时杀死任何其他GUI元素,以及任何非守护进程线程。非常感谢!我刚开始使用java,添加事件监听器对我来说是非常新的(我来自web开发php/javascript背景。非常感谢!我刚开始使用java,添加事件监听器对我来说是非常新的(我来自web开发php/javascript背景)。