2013-12-12 24 views
1

因此,我正在研究一个小项目,并且正在寻找如何在JOptionPane中执行此操作的基本代码。我对Java的这个方面仍然很陌生。我不是在寻找很多东西,我只是不知道从哪里开始。JOptionPane使用一个窗口输入和输出

程序应该使用JOptionPane窗口填充屏幕。我需要将它模拟为下面的图片。最下面一行是来自用户的文本输入,当它们敲入回车键时,文本应该“刷新/清除”,然后中间的字符串区域应该填入用户输入,然后在下面填充if语句的结果根据代码。

enter image description here

例如: “你好”:用户在输入。 然后文本输入应该刷新,灰色框应该这样做:“用户:你好。” “计算机:你好用户”。

我真的很感激任何和所有帮助。

+0

这是一个控制台程序,还是你想要一个功能齐全的GUI程序? –

+0

它是一款基于文本的冒险游戏。我认为,在控制台程序下登陆。我没有处理任何图像haha – booky99

+1

JOptionPanes实际上并不像这样。他们的目的是获得用户的回应,并将这些信息发送回控制台或您的gui程序。但是你似乎想要输入到控制台并将输入输入到gui中。哪一个? –

回答

0

你不要把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教程。这些教程中有很多信息。

+1

哦哇...哈哈我看到你在那里做了什么。这确实有帮助。非常感谢! – booky99