我正在尝试使用 GUI 为总结性项目制作基于 Java 的基于文本的冒险游戏,我遇到的问题是当我按下选项 A 时,它会工作一次,之后就无法工作。我没有添加任何选项 B 的东西,因为如果我一开始就没有办法让它工作,它就不会有任何好处。导入 java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Project extends JFrame implements ActionListener {
private static final int WIDTH = 840;
private static final int HEIGHT = 480;
private JLabel gameText;
private JButton optionA, optionB, exitB;
private ExitButtonHandler ebHandler;
public project()
{
gameText = new JLabel("<HTML><br>You wake up in a forest, there is a path which
heads north. There also seems to be a old trail that leads deeper in the woods.</br>
</html>");
optionA = new JButton("Head North");
optionA.setActionCommand("optionA");
optionA.addActionListener(this);
optionB = new JButton("Go deeper into the forest.");
optionB.setActionCommand("optionB");
optionB.addActionListener(this);
exitB = new JButton("Exit");
ebHandler = new ExitButtonHandler();
exitB.addActionListener(ebHandler);
setTitle("Adventuregame");
Container pane = getContentPane();
pane.setLayout(new GridLayout(4, 2));
pane.add(gameText);
pane.add(optionA);
pane.add(optionB);
pane.add(exitB);
setSize(WIDTH, HEIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("optionA") )
{
gameText.setText("<HTML><br>You find yourself on the pathway to a major capital
city, the walls of the kingdom head towards the sky and the gate is wide open, you can
hear the sounds of busy life from inside the castle gates. As you head in, a guard
confronts
you and asks why you are there.</br></HTML>");
optionA.setText("I'm lost and trying to find my way.");
optionB.setText("Ignore the guard");
optionA.setActionCommand("optionA2");
optionA.addActionListener(this);
if(e.getActionCommand().equals("optionA2"))
{
gameText.setText("<HTML><br>The guard checks you for weapons, finding nothing he
takes you to the tavern to find someone who may be able to help you out. In the Tavern
there are some drunkards singing in the corner and a band of mercenaries on your right.
At the bar there is a older man whom you seem to reconise</br></HTML>");
optionA.setText("Go towards the Mercenaries.");
optionB.setText("Go to the Older Man.");
optionA.setActionCommand("optionA3");
optionA.addActionListener(this);$
我正在尝试获取它,以便每次按下按钮时它都会更新到下一部分,目前我无法找到有关如何执行此操作的任何内容。