在Java中从GUI切换到命令提示符?

时间:2008-12-08 21:30:55

标签: java user-interface cmd

我的教授指定了一个项目,通过GUI运行模拟。要编辑它,我们需要创建一个“新建”菜单项。我们还没有学习如何从GUI获取数据,我们的书根本没有涵盖它。

我正在尝试做的是,当点击“新建”命令时,焦点会转移回CMD提示符,其中System.out。再次开始工作并提示用户输入。

然而,当我尝试实现这个时,我的程序崩溃了。我该怎么做才能解决这个问题?

4 个答案:

答案 0 :(得分:0)

System.out是否在终端(非Java)窗口中?如果是这样,我认为这比你想象的要难得多。

我很想将System.in / System.out重定向到GUI上的JTextPane(这样,更改焦点会更容易等等。我想你需要尝试解释一下你的''在你的问题中做得更好一些,并且可能在程序崩溃时发布堆栈跟踪。

无论如何,当点击“新”菜单项时你需要做的事情:

menuItem.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
       // Code here to be performed when the item is clicked
   }
});

答案 1 :(得分:0)

看起来你没有保留对新创建的GUI的引用。据我所知,如果没有对该对象的引用,Java将垃圾收集FoxGui对象(以及任何其他对象)。尝试创建一个全局变量来存储对新创建的FoxGui对象的引用。有点像...

FoxGui MyGUIRef;
public void actionPerformed(ActionEvent event) 
{ 
    System.out.println("Item: " + event.getActionCommand());

    // File Menu Controls
   if (event.getActionCommand().equals("New"))
   {
       MyGUIRef = runNew();
   }
}

//Now returns a reference to FoxGui
private FoxGui runNew()
{
     return new FoxGui(....)
}

答案 2 :(得分:0)

你知道吗?我找到了一个真正简单的解决方案,JOptionPane。我只需找到一个好例子。这对我想要的东西都很好。谢谢你的帮助。我会勾选所有帮助过的人。

答案 3 :(得分:0)

我知道答案很晚,但无论如何......

只有一种方法可以完全按照自己的意愿行事。

  1. 首先,您需要记住通过java -jar jarname.jar从CMD运行项目
  2. 抓住点击动作并执行system.in
  3. 信息:

    这是唯一的解决方案,因为GUI从不关注CMD,但如果从CMD运行GUI,您可以轻松使用System.in。

    问候,格雷格