回顾一下我上一期的问题,我是一名15岁的新朋友。我目前正在尝试使用java独立开发Rock Paper Scissors游戏。我认为在这个项目上工作将是一个帮助我学习java及其基础知识的通知经验。我对java编程语言有些新意,所以请不要批评我,我正在通过反复试验慢慢学习。对于这个特定的项目,我决定使用Eclipse,因为我比其他IDE更喜欢它的用户界面。无论如何,我决定实施JPanel以使游戏更具视觉效果。我的代码如下所示:从我的eclipse项目中复制并粘贴:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class prompt extends JPanel implements ActionListener {
public static void main(String []args) {
JPanel panel = new JPanel();
JButton rockButton = new JButton("ROCK");
JButton scissorsButton = new JButton("SCISSORS");
JButton paperButton = new JButton("PAPER");
JFrame choicePrompt = new JFrame("Rock, Paper, Scissors Game");
choicePrompt.add(panel);
choicePrompt.setSize(300, 300);
choicePrompt.setVisible(true);
panel.add(rockButton);
panel.add(scissorsButton);
panel.add(paperButton);
rockButton.addActionListener(new ActionListener() {
public void rockChosen(ActionEvent r)
{
JLabel rock = new JLabel("You have chosen Rock!");
panel.add(rock);
}
}
scissorsButton.addActionListener(new ActionListener() {
public void scissorsChosen(ActionEvent s)
{
JLabel scissors = new JLabel("You have chosen Scissors!");
panel.add(scissors);
}
}
paperButton.addActionListener(new ActionListener() {
public void paperChosen(ActionEvent p)
{
JLabel paper = new JLabel("You have chosen Paper!");
panel.add(paper);
}
}
}
}
在向JPanel添加按钮时,我的ActionListeners出了什么问题?我希望这个程序工作的方式是,当用户点击摇滚,纸张或剪刀时,它会显示JLabel以供他们决定。所有其他" shtuff"我可以自己做。
答案 0 :(得分:1)
您的代码甚至不应该编译,如果是这种情况并且您来这里寻求帮助,您需要通知我们并发布所有编译错误消息,指出导致它们的行。建议:
答案 1 :(得分:0)
你没有正确实现ActionLIstener,这个接口中有方法actionPerformed(ActionEvent e),试试这个(对你所有的听众来说):
paperButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
JLabel paper = new JLabel("You have chosen Paper!");
panel.add(paper);
}