Панель выхода в Яве - PullRequest
       4

Панель выхода в Яве

1 голос
/ 18 апреля 2011
Frame fr;
...
fr.setDefaultCloseOperation(Frame.???)

Что я должен написать вместо "???"закрыть рамку?

Ответы [ 2 ]

6 голосов
/ 18 апреля 2011

Я думаю, что вы хотели использовать JFrame:

JFrame fr;
...
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

И с (старой) рамкой AWT вы бы сделали что-то вроде этого, чтобы закрыть его:

final Frame frame = new Frame("Frame test");
frame.setSize(400, 400);
frame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        frame.dispose();
    }
});
frame.setVisible(true);
2 голосов
/ 18 апреля 2011
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Пример кода

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test {
    JFrame frame;

    public Test() {
        JButton button = new JButton("exit");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                frame.dispose();
            }
        });
        JPanel panel = new JPanel();
        panel.add(button);
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panel);
        frame.pack();
        frame.setLocation(200,200);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new Test();        
    }
}
...