org.eclipse.swt包出错

本文介绍了解决Eclipse环境下SWT包导入错误的方法。针对the import org.eclipse cannot be resolved的问题,提供了三种解决方案:复制DLL文件到JRE bin目录、设置环境变量或在项目中导入原生库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做Java可视化程序时,用到下面这几个包,请问该怎么处理:(Eclipse环境)
importorg.eclipse.swt.SWT;
importorg.eclipse.swt.widgets.Display;
importorg.eclipse.swt.widgets.Shell;
提示:theimportorg.eclipsecannotberesolved.



在eclipse的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,

文件名中中3.2.1是eclipse的版本号,v3235是SWT的序列号,不同的eclipse版本这两个
数字也不同。
将org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar解压到当前目录
下。解压后得到四个DLL文件:swt-win32-3235.dll,swt-awt-win32-3235.dll,
swt-gdip-win32-3235.dll和swt-wgl-win32-3235.dll。这四个文件就是SWT的原生库文件。原
生库文件为SWT通过JNI访问windows本地API提供了接口,为使Java程序在启动时能
够访问这些文件,可以通过以下方法进行设置:
方法一:将这四个DLL文件复制到jre的bin目录下。
方法二:设置环境变量,在PATH中加入这几个dll文件所在的目录。
方法三:在eclipse的Java项目中导入原生库文件。操作方法是:
在eclipse的包资源管理器中,右单击项目名→导入→常规→文件系统→下一步→浏览
→选择DLL文件所在目录→确定→勾选DLL文件→完成。

导入SWT的原生库文件后,还要在eclipse的Java项目中配置构建路径,添加外部JAR,
将文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar加入到项目中,操作方法是:
在eclipse的包资源管理器中,右单击项目名→构建路径→配置构建路径→库(L)→添
加外部JAR→在eclipse的plugins文件夹中找到该jar文件→打开→确定
org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt.accessibility.AccessibleActionAdapter.class org.eclipse.swt.accessibility.AccessibleActionEvent.class org.eclipse.swt.accessibility.AccessibleActionListener.class org.eclipse.swt.accessibility.AccessibleAdapter.class org.eclipse.swt.accessibility.AccessibleAttributeAdapter.class org.eclipse.swt.accessibility.AccessibleAttributeEvent.class org.eclipse.swt.accessibility.AccessibleAttributeListener.class org.eclipse.swt.accessibility.AccessibleControlAdapter.class org.eclipse.swt.accessibility.AccessibleControlEvent.class org.eclipse.swt.accessibility.AccessibleControlListener.class org.eclipse.swt.accessibility.AccessibleEditableTextAdapter.class org.eclipse.swt.accessibility.AccessibleEditableTextEvent.class org.eclipse.swt.accessibility.AccessibleEditableTextListener.class org.eclipse.swt.accessibility.AccessibleEvent.class org.eclipse.swt.accessibility.AccessibleHyperlinkAdapter.class org.eclipse.swt.accessibility.AccessibleHyperlinkEvent.class org.eclipse.swt.accessibility.AccessibleHyperlinkListener.class org.eclipse.swt.accessibility.AccessibleListener.class org.eclipse.swt.accessibility.AccessibleTableAdapter.class org.eclipse.swt.accessibility.AccessibleTableCellAdapter.class org.eclipse.swt.accessibility.AccessibleTableCellEvent.class org.eclipse.swt.accessibility.AccessibleTableCellListener.class org.eclipse.swt.accessibility.AccessibleTableEvent.class org.eclipse.swt.accessibility.AccessibleTableListener.class org.eclipse.swt.accessibility.AccessibleTextAdapter.class org.eclipse.swt.accessibility.AccessibleTextAttributeEvent.class org.eclipse.swt.accessibility.AccessibleTextEvent.class org.eclipse.swt.accessibility.AccessibleTextExtendedAdapter.class org.eclipse.swt.accessibility.AccessibleTextExtendedListener.class org.eclipse.swt.accessibility.AccessibleTextListen
org.eclipse.birt.report.data.oda.jdbc.JDBCException: 获取连接时出错,用户 'sa' 登录失败。 ClientConnectionId:29fcb7de-e9dc-4abd-a52f-7dd610aaa5ac。 at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:339) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:210) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.tryCreateConnection(JDBCDriverManager.java:827) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.testConnection(JDBCDriverManager.java:748) at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:147) at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:175) at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper.testConnection(JDBCSelectionPageHelper.java:998) at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper.access$11(JDBCSelectionPageHelper.java:960) at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper$8.widgetSelected(JDBCSelectionPageHelper.java:883) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at org.eclipse.jface.window.Window.runEventLoop(Window.java:827) at org.eclipse.jface.window.Window.open(Window.java:803) at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:117) at org.eclipse.birt.report.designer.data.ui.providers.EditableDataSourceNodeProvider.performEdit(EditableDataSourceNodeProvider.java:73) at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performRequest(DefaultNodeProvider.java:472) at org.eclipse.birt.report.designer.internal.ui.views.actions.EditAction.doAction(EditAction.java:85) at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:70) at org.eclipse.birt.report.designer.internal.ui.views.RenameListener.doubleClick(RenameListener.java:214) at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:832) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173) at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:829) at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470) at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1263) at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252) at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515) at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
最新发布
06-03
package singleServer; import java.net.*; import java.io.*; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Label; public class ServerApp { protected Shell shell; private Text textPort; private Text textInformation; /** * Launch the application. * @param args */ public static void main(String[] args) { ServerSocket server=null; Socket socket=null; BufferedReader cin=null; PrintStream cout=null; try { server = new ServerSocket(Integer.parseInt(textPort.getText())); textInformation.append("系统提示:聊天服务器系统开始启动。。。。\n"); } catch(IOException el) { textInformation.append("服务器端口打开出错\n"); } if(server != null) { try { socket = server.accept(); } catch(IOException e2) { textInformation.append("用户连接服务器出错"\n); } try { cin = new BufferedReader(new InputStreamReader(socket.getInputStream())); cout = new PrintStream(socket.getOutputStream()); String str = cin.readLine(); textInformation.append("从客户端读入如下的信息:"+str+"\n"); } catch(IOException e3) { textInformation.append("输入输出异常\n"); } } try { ServerApp window = new ServerApp(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window. */ public void open() { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the window. */ protected void createContents() { shell = new Shell(); shell.setSize(450, 300); shell.setText("SWT Application"); textPort = new Text(shell, SWT.BORDER); textPort.setBounds(142, 12, 178, 35); textInformation = new Text(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CANCEL); textInformation.setText("系统提示:聊天服务器系统开始启动......\r\n从客户端读入如下的信息:"); textInformation.setBounds(10, 70, 385, 158); Button btnNewButton = new Button(shell, SWT.NONE); btnNewButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { } }); btnNewButton.setBounds(326, 10, 86, 37); btnNewButton.setText("开始监听"); Label lblNewLabel = new Label(shell, SWT.NONE); lblNewLabel.setBounds(30, 12, 78, 35); lblNewLabel.setText("监听端口"); } }帮我检查这段代码
05-28
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值