helpdialog.java

来自「Eclipse RCP下编写的工作管理软件代码」· Java 代码 · 共 42 行

JAVA
42
字号
package net.sf.pim.view;

import java.net.URL;

import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Shell;

public class HelpDialog extends MessageDialog {
    public HelpDialog(Shell shell, String s, Image image, String s1, int i, String[] strings, int i1) {
        super(shell, s, image, s1, i, strings, i1);
    }
	@Override
	protected Point getInitialLocation(Point initialSize) {
		Point p=super.getInitialLocation(initialSize);
		//让弹出窗口在主窗口的下方,缺省在上方
		return new Point(p.x,p.y*2);
	}    
    protected Control createCustomArea(Composite composite) {
    	Browser browser=new Browser(composite, SWT.WRAP | SWT.READ_ONLY);
    	browser.setSize(620, 400);
		Menu menu = new Menu(browser.getShell(), SWT.POP_UP);
		browser.setMenu(menu);		
    	URL helpfile = FileLocator.find(Platform.getBundle("net.sf.psp"), new Path("docs/manual.htm"), null);
		try {
			browser.setUrl(FileLocator.toFileURL(helpfile).getPath().substring(1));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return browser;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?