代码之家  ›  专栏  ›  技术社区  ›  Eric

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

  •  0
  • Eric  · 技术社区  · 16 年前

    我的教授分配了一个项目,其中模拟是通过GUI运行的。要编辑它,我们需要创建一个“新”菜单项。我们还没有学会如何从GUI获取数据,我们的书也没有涉及到它。

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

    然而,当我试图实现它时,我的程序崩溃了。我能做些什么来解决这个问题?

    4 回复  |  直到 12 年前
        1
  •  0
  •   Dalin Seivewright    16 年前

    看起来您没有保留对新创建的GUI的引用。据我所知,如果没有对FoxGui对象的引用,Java将对该对象(以及任何其他对象)进行垃圾收集。尝试创建一个全局变量来存储对新创建的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
  •   Richard Walton    16 年前

    无论如何,要在单击“新建”菜单项时执行某些操作,您需要执行以下操作:

    menuItem.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
           // Code here to be performed when the item is clicked
       }
    });
    
        3
  •  0
  •   eric eric    16 年前

    你知道吗?我找到了一个真正简单的解决方案,JOptionPane。我只是想找个好例子。它会很好地满足我的需求。谢谢你的帮助。我会勾选所有帮助过我的人。

        4
  •  0
  •   BigGinDaHouse    12 年前

    只有一种方法可以完全满足你的需求。

    1. 首先,您需要记住通过java-jar jarname.jar从CMD运行项目
    2. 捕获单击操作并执行system.in

    资料:

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