不能使用dispose();方法,Java Gui形式

时间:2017-01-19 10:20:48

标签: java swing user-interface jframe dispose

我在GUI项目中使用dispose()方法时遇到一些问题。 我正在为IntelliJ中的某种选举制作一个GUI swing应用程序。

我的问题是,通过点击按钮(Confirm1,或2或3),我想打开新的JFrame,它会检查选民的年龄并关闭此按钮所在的当前JFrame致电dispose()

frame.dispose();不起作用。

我在JFrame中声明了public static main()

我应该在ActionListener中为它做参考吗?我一直在寻找解决方案,但我找不到任何解决方案。

这是一段代码:

import javax.swing.*;  //another libraries


public class ElectionGUI {

    private JPanel labelElection;  // another texfields or etc.


    private JButton Confirm1;
    private JButton Confirm3;
    private JButton Confirm2;
    private JPanel Elections;

    public VotesGUI(){
        Votes votes = new Votes("...","...",0);

        listX.addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                if(!e.getValueIsAdjusting()){
                    NrX.setText(listX.getSelectedValue().toString());
                }    
            }
        });
        listY.addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                if(!e.getValueIsAdjusting()){
                    NrY.setText(listY.getSelectedValue().toString());
                }
            }
        });

        listZ.addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                if(!e.getValueIsAdjusting()){
                    NrZ.setText(listZ.getSelectedValue().toString());
                }
            }
        });
        Confirm1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                votes.VotesX();
                votes.countVotes();
                CheckAge age = new CheckAge();
                age.Check();                        /// referention, to my next //Jframe called psvm Check();
            }
        });
        Confirm2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                votes.VotesY();
                votes.countVotes();
                CheckAge age = new CheckAge();
               age.Check();
            }
        });
        Confirm3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                votes.VotesZ();
                votes.countVotes();
                CheckAge age = new CheckAge();
                age.Check();
            }
        });
    }

    public static void main(String[] args) {
       JFrame frame = new JFrame("Elentions");
       frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
       frame.setVisible(true);
        frame.setContentPane(new ElectionGUI().labelElection);
        frame.pack();
    }
}

0 个答案:

没有答案