[求助]关于eclipse下开发串口操作插件的问题

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

请教一下,我用eclipse开发一个可以读取串口信息的插件,把它单独作为应用程序可以正常运行.但以插件形式运行时点击按钮就会出现异常.不知道是什么问题?

插件窗口程序:

package com.plugin.Hello;

import org.eclipse.core.runtime.*;

import org.eclipse.jface.dialogs.ErrorDialog;

import org.eclipse.jface.window.ApplicationWindow;

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.*;

import org.eclipse.swt.layout.*;

import org.eclipse.swt.widgets.*;

import com.leon.serial.*;

/**

* This class demonstrates JFace's ErrorDialog class

*/

public class DialogSample extends ApplicationWindow {

/**

* ShowError constructor

*/

public DialogSample() {

super(null);

}

/**

* Runs the application

*/

public void run() {

// Don't return from open() until window closes

setBlockOnOpen(true);

// Open the main window

open();

// Dispose the display

Display.getCurrent().dispose();

}

/**

* Configures the shell

*

* @param shell the shell

*/

protected void configureShell(Shell shell) {

super.configureShell(shell);

// Set the title bar text and the size

shell.setText("read com");

shell.setSize(400, 400);

}

/**

* Creates the main window's contents

*

* @param parent the main window

* @return Control

*/

protected Control createContents(Composite parent) {

Composite composite = new Composite(parent, SWT.NONE);

composite.setLayout(new GridLayout(1, false));

// Create a big text box to accept error text

final Text text = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);

text.setLayoutData(new GridData(GridData.FILL_BOTH));

// Create the button to launch the error dialog

Button show = new Button(composite, SWT.PUSH);

show.setText("open serial port");

show.addSelectionListener(new SelectionAdapter() {

public void widgetSelected(SelectionEvent event) {

SerialBean SB = new SerialBean(2);

String Msg = "";

SB.Initialize();

Msg = SB.ReadPort(10);

SB.ClosePort();

text.setText(Msg);

}

});

return composite;

}

/**

* The application entry point

*

* @param args the command line arguments

*/

/* public static void main(String[] args) {

new DialogSample().run();

}

*/

}

插件是根据helloworld改过来的

package com.plugin.Hello;

import org.eclipse.ui.plugin.*;

import org.osgi.framework.BundleContext;

import java.util.*;

/**

* The main plugin class to be used in the desktop.

*/

public class HelloPlugin extends AbstractUIPlugin {

//The shared instance.

private static HelloPlugin plugin;

//Resource bundle.

private ResourceBundle resourceBundle;

/**

* The constructor.

*/

public HelloPlugin() {

super();

plugin = this;

try {

resourceBundle = ResourceBundle.getBundle("com.plugin.Hello.HelloPluginResources");

} catch (MissingResourceException x) {

resourceBundle = null;

}

}

/**

* This method is called upon plug-in activation

*/

public void start(BundleContext context) throws Exception {

super.start(context);

}

/**

* This method is called when the plug-in is stopped

*/

public void stop(BundleContext context) throws Exception {

super.stop(context);

}

/**

* Returns the shared instance.

*/

public static HelloPlugin getDefault() {

return plugin;

}

/**

* Returns the string from the plugin's resource bundle,

* or 'key' if not found.

*/

public static String getResourceString(String key) {

ResourceBundle bundle = HelloPlugin.getDefault().getResourceBundle();

try {

return (bundle != null) ? bundle.getString(key) : key;

} catch (MissingResourceException e) {

return key;

}

}

/**

* Returns the plugin's resource bundle,

*/

public ResourceBundle getResourceBundle() {

return resourceBundle;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航