我的新游戏JButton不工作?

时间:2014-03-04 00:54:17

标签: java swing

您好我正在完成一项98%完成的作业。我已经制作了gui程序,其中jtextfield设置为0但是当你玩游戏时它会改变。

现在我创建了一个名为“NEW GAME”和“QUIT”的j按钮。单击时,我的退出按钮工作正常。但我的新游戏按钮是我的问题。

我想要它,以便当我点击按钮时将分数设置为0

 public ShinyButtonsGUIProgramToShare(String tit, int x, int y) {
        //The button GUI
        ShinyButtonsGUIToShare sbg = new ShinyButtonsGUIToShare("NYI", 552, 552, new ShinyButtons());
        sbg.setLocation(10, 10);
        getContentPane().add(sbg);
        //The score text and text box
        JLabel jlb = new JLabel("Score: ");
        jlb.setLocation(12, (y - 75));
        jlb.setSize(45, 40);
        getContentPane().add(jlb);

        JTextField jtf = new JTextField("0");
        jtf.setLocation(60, (y - 70));
        jtf.setSize(150, 30);
        jtf.setHorizontalAlignment(JTextField.RIGHT);
        getContentPane().add(jtf);


        JButton NewGame, Quit;
        NewGame = new JButton("New Game");
        Quit = new JButton("Quit");

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

        NewGame.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e) { 
          JTextField jtf.setText("0");
          }});


        NewGame.setLocation((x - 220), (y - 70));
        NewGame.setSize(100, 30);
        getContentPane().add(NewGame);

        Quit.setLocation((x - 110), (y - 70));
        Quit.setSize(100, 30);
        getContentPane().add(Quit);
        setDefaultCloseOperation(EXIT_ON_CLOSE); // allow window to close 
        setSize(x, y);
        setLayout(null);
        setResizable(false);
    }

    public static void main(String[] args) {
        ShinyButtonsGUIProgramToShare sbgp = new ShinyButtonsGUIProgramToShare("Shiny   Buttons", 578, 634);
        sbgp.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:1)

您有上下文问题......

jtf NewGame

的上下文中无法引用ActionListener的实例

您需要创建jtf和实例变量,以便可以从ShinyButtonsGUIProgramToShare对象的实例中的任何位置访问它。

查看Understanding Class MembersCode Conventions for the Java Programming Language