Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的按钮单击操作_Java - Fatal编程技术网

Java中的按钮单击操作

Java中的按钮单击操作,java,Java,我正在尝试做一个游戏,现在,我需要有一个按钮有一个行动时,他们被点击,但我不断得到一个错误,说“语法错误,插入”}完成 类主体“没有丢失“}”的错误,因此代码本身肯定有问题 import java.awt.Button; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import ja

我正在尝试做一个游戏,现在,我需要有一个按钮有一个行动时,他们被点击,但我不断得到一个错误,说“语法错误,插入”}完成 类主体“没有丢失“}”的错误,因此代码本身肯定有问题

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Menu extends Window implements ActionListener
{

  Button start = new Button("Start Game:");
  Button quit = new Button("Quit");
}


public void actionPerformed(ActionEvent e)
{
  if (e.getActionCommand().equals("Start Game: "))
{
  System.out.print("Button one clicked");
}
else if (e.getActionCommand().equals("Quit"))
{
  System.out.print("Button two clicked");
}


}

您忘记将事件处理程序类的实例注册为按钮上的侦听器

将此添加到您的类中

start.addActionListener(this);
quit.addActionListener(this);
您还必须将
actionPerformed
函数移动到类主体中。 你的班级看起来像

public class Menu extends Window implements ActionListener
{

  Button start = new Button("Start Game:");
  Button quit = new Button("Quit");
  start.addActionListener(this);
  quit.addActionListener(this);

 public void actionPerformed(ActionEvent e)
{
  if (e.getActionCommand().equals("Start Game: "))
  {
    System.out.print("Button one clicked");
  }
  else if (e.getActionCommand().equals("Quit"))
  {
    System.out.print("Button two clicked");
  }    
}
}

方法
onActionPerformed
不在类块中:

public class Menu extends Window implements ActionListener
{ //Class block starts

  Button start = new Button("Start Game:");
  Button quit = new Button("Quit");
} //Class block ends

public void actionPerformed(ActionEvent e)
....

类的所有方法都必须位于类的块内:

public class Menu extends Window implements ActionListener {

    Button start = new Button("Start Game:");
    Button quit = new Button("Quit");

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("Start Game: ")) {
            System.out.print("Button one clicked");
        } else if (e.getActionCommand().equals("Quit")) {
            System.out.print("Button two clicked");
        }

    }
}
此外,您可能需要决定是使用AWT小部件(
java.AWT.
)还是使用Swing组件(
javax.Swing.


例如,当你说
Button-Button=new-Button(),它是一个AWT小部件。为了使用Swing,您必须
JButton JButton=new JButton()

好的,谢谢。我切换到JButton,但是是否有任何原因或事情我必须添加以使按钮点击显示在控制台中,以便您可以看到哪个按钮被点击。