有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将用户输入功能添加到eclipse插件中?

我正在eclipse中开发一个插件,它可以生成一个文本文件(基于用户输入)并触发一个perl脚本。我可以很容易地制作一个简单的插件(比如Hello World),我可以向它添加新的菜单和命令。我理解这些东西是如何相互关联的,但我陷入困境的地方是用户输入

我如何要求用户输入他的选择?我是说我该用什么分机约他出去?我找不到任何可以要求用户输入数据的内容。一旦我能让他输入所需的信息,我就可以轻松地访问这些信息,以便进一步进行

PLZ。注意:这是我第一次在一个在线社区,所以我在描述时尽量透彻。我是eclipse新手,对Java有着非常基本的了解。我在网上学习了马克·德克斯特的一些Java课程。我对C++有很好的理解和工作经验。p>


共 (3) 个答案

  1. # 1 楼答案

    启动Eclipse插件开发可能有点难以承受

    答案是: 我假设您已经使用“hello,world command”模板创建了一个新的插件项目。如果没有,你可以很容易地做到。这将帮助你开始。在这个示例项目中,eclipse为您创建了一个简单的菜单贡献。我不打算讨论细节,但本质上,您创建了一个命令(org.eclipse.ui.commands),并将其与工作台中的某个位置相关联,比如菜单或工具栏图标(org.eclipse.ui.menus)。然后你需要创建一些东西来处理这个命令,比如当它被执行时(通过用户点击菜单)。这是由处理程序(org.eclipse.ui.handlers)完成的,处理程序是在您希望代码进入的时候完成的

    1. 打开插件中的“plugin.xml”文件并导航到“Extension”部分
    2. 展开“org.eclipse.ui.handlers”分支并选择唯一的“(handler)”项
    3. 单击编辑器右侧的“类”链接,将导航到生成的类
    4. 您的代码将转到“execute”方法。这是用户执行命令时将运行的内容。在您的情况下,如果您想请求输入,可以使用输入对话框:

    代码:

    public Object execute(ExecutionEvent event) throws ExecutionException {
           InputDialog dlg = new InputDialog(
              HandlerUtil.getActiveShellChecked(event), "Title",
              "Enter text", "Initial value", null);
          if (dlg.open() == Window.OK) {
            // User clicked OK; run perl
            String input = dlg.getValue();
            // TODO:do something with value
          }
          return null; 
     }  
    

    否要请求用户输入,您需要显示一个对话框。我建议你看一下这本不错的教程:http://www.vogella.de/articles/EclipseDialogs/article.html,它非常详细地描述了这一点

    详细的答案是查看http://www.vogella.de/articles/EclipsePlugIn/article.htmlhttp://www.vogella.de/articles/EclipseCommands/article.html以了解Eclipse RPC和命令背后的基础知识

    最后,您还需要查看这里的http://www.vogella.de/articles/EclipseJobs/article.html,以了解如何运行更长的任务,如您所说的perl脚本

  2. # 2 楼答案

    Eclipse中没有用于输入用户信息的扩展点。为此,您通常会根据特定的用例使用对话框或视图

  3. # 3 楼答案

    从我上面的评论继续(抱歉,无法容纳600个字符的评论限制,所以我添加这个作为对您问题的可能答案)快速搜索导致我找到了这个-http://www.eclipse.org/articles/article.php?file=Article-action-contribution/index.html。您可以使用操作轻松添加由插件处理的工具栏按钮、菜单项等。简而言之,这就是将功能插入工作台的方式。我建议查看上面的链接以获得更好的理解。至于收集输入,可以使用JFace对话框(http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjface%2Fdialogs%2FDialog.html)。有许多预先录制好的对话,您可能会发现它们很有用,所以我建议您多做一些研究,看看哪些最适合您的用例。祝你好运