【问题标题】:How to add help file to frame?如何将帮助文件添加到框架?
【发布时间】:2018-05-24 10:11:02
【问题描述】:

我正在为 Eclipse 制作插件,当插件命令被激活时,它会打开带有一些表格的框架。现在我想将帮助文件添加到插件的框架中,以便在单击框架中帮助文件的链接时,文件打开(执行)。文件应该是插件的一部分。我的问题是:

  1. 不知道如何制作链接并将其添加到框架中。
  2. 不知道如何在运行时应用程序的插件中找到该文件。

    JLabel lblFileLink = new JLabel("Help");
    lblFileLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    
    lblFileLink.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                try {
                    /* Add code for opening file from plugin.*/
                } catch (IOException e1) {
    
                    e1.printStackTrace();
                }
            }
        });
    

在某处找到此代码,现在我需要实现链接,有什么想法吗?

【问题讨论】:

  • 请说明,“文件打开”是什么意思?
  • 执行,例如打开txt文件。
  • 在什么地方打开?你自己的编辑器?
  • 在记事本中,如 readme.txt 或 Eclipse 编辑器中,忘记添加这是 Eclipse 插件,抱歉。我会编辑它

标签: java swing file mouseevent frame


【解决方案1】:

如果我理解你的问题是正确的,这样的事情应该可以工作:

JLabel lblFileLink = new JLabel("Help");
lblFileLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

lblFileLink.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            try {
                java.awt.Desktop.getDesktop().edit(INSERTYOURFILEHERE);
            } catch (IOException e1) {

                e1.printStackTrace();
            }
        }
    });

这将打开标准文本编辑器并显示您的文件。只需将INSERTYOURFILEHERE 替换为您自己的文本文件即可。

编辑:如果你想在 Eclipse 中打开它,可以查看this

Edit2:上面链接的要点:

File fileToOpen = new File("externalfile.xml");

if (fileToOpen.exists() && fileToOpen.isFile()) {
    IFileStore fileStore = EFS.getLocalFileSystem().getStore(fileToOpen.toURI());
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

    try {
        IDE.openEditorOnFileStore( page, fileStore );
    } catch ( PartInitException e ) {
        //Put your exception handler here if you wish to
    }
} else {
    //Do something if the file does not exist
}

【讨论】:

  • 这个文件应该在哪里?我需要打开作为插件一部分的文件。我的意思是这个文件需要位于插件的包中
  • 无法打开您发布的链接以在 Eclipse 中打开它
  • wiki.eclipse.org/… 不起作用?
  • 是的,它正在尝试连接但没有打开,一定是我的网络有问题
  • @squlerr this.getClass().getResourceAsStream(YOURFILE); 应该可以加载您的文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多