我的JButton不起作用

时间:2015-07-29 15:55:55

标签: java jbutton

    import java.awt.BorderLayout;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JButton;
import java.awt.Dimension;



public class Guii extends JFrame{
    Principal obiect;
    public JButton heads = new JButton("Heads");
    public JButton tails = new JButton("Tails");
    public JTextField display = new JTextField();
    public JTextField comboul = new JTextField();
    private JPanel panel;
    public int predictie;

    public Guii(){
        super("Heads or Tails");
        setContentPane(panel);
        initUi();
        pack();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

         /* public void dacaHeads(){
            if(heads.getModel().isPressed()) predictie = 0;


        public void dacaTails(){
            if(tails.getModel().isPressed()) predictie = 1;*/

    }
    public void initUi(){



        heads.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e){
                predictie = 0;
                obiect.flip();

                if(predictie == obiect.returnStatus() ){
                    String s = comboul.getText();
                    int combo = Integer.valueOf(s);
                    s = Integer.toString(++combo);
                    comboul.setText("asdsaad");}
                else{
                    String z = "0";
                    comboul.setText("asdasda");
                }
            }
        });

        tails.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e){
                predictie = 1;
                obiect.flip();
                if(predictie == obiect.returnStatus() ){
                    String s = comboul.getText();
                    int combo = Integer.valueOf(s);
                    s = Integer.toString(++combo);
                    comboul.setText(s);}
                else{
                    String z = "0";
                    comboul.setText(z);
                }
            }





        });}}

为什么我的按钮不起作用?我认为我添加了一切工作。我制作了按钮,添加了actionListener和actionPerfomed。还添加了@Override,因为有人说。

我在其他课程中用while函数检查过。感谢你。

2 个答案:

答案 0 :(得分:0)

就我所见,您没有在任何地方添加按钮(和文本字段)。此外,从不调用添加侦听器的方法 - 除了侦听器本身,但是从未添加过...

尝试在构造函数中将按钮添加到面板,然后将侦听器添加到按钮。

答案 1 :(得分:0)

在哪里初始化面板,按钮,文本字段?此代码无法正常工作。看看你的控制台输出!

代码必须包含以下内容:

panel = new JPanel();
panel.add(heads);
panel.add(tails);
panel.add(display);
panel.add(comboul);

setContentPane(panel);

它看起来你忘了打电话给dacaTails();所以也把它添加到结构中。