如何将帮助文件添加到框架?

时间:2018-05-24 10:11:02

标签: java swing file mouseevent frame

我正在制作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();
                }
            }
        });
    
  3. 在某个地方找到这个代码,现在我需要实现链接,任何想法?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题是正确的,那么这样的事情应该有效:

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
}