你不要把System.out.println()
变成一个gui组件。不这样工作。您可以编写控制台程序并使用JOptionPanes获取用户输入,但输出将用于控制台程序中。你需要创建一个GUI程序模仿一个控制台。
这里有一个基本的布局开始你了
public class Game extends JFrame {
JTextArea jta = new JTextArea(10, 30);
JTextField jtf = new JTextField(30);
public Game(){
add(jtf, BorderLayout.SOUTH);
add(jta, BorderLayour.CENTER);
jta.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
}
});
}
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
JFrame frame = new Game();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
});
}
}
我的建议是,因为这是一个非常基本的程序中,字符串命令,我会用一个数组和遍历它们。
例如:
String[] question = {"Do you want to go to school?",
"Do you want to drive or walk?"};
jta.setText(questions[0]);
然后在你的actionPerformed从文本字段的答案得到。使用if语句如
if (jtf.getText().equals("yes") {
jta.append(questions[1]);
}
依此类推。如果你不知道我在说什么,我会考虑使用我提到的Swing教程。这些教程中有很多信息。
这是一个控制台程序,还是你想要一个功能齐全的GUI程序? –
它是一款基于文本的冒险游戏。我认为,在控制台程序下登陆。我没有处理任何图像haha – booky99
JOptionPanes实际上并不像这样。他们的目的是获得用户的回应,并将这些信息发送回控制台或您的gui程序。但是你似乎想要输入到控制台并将输入输入到gui中。哪一个? –