資源簡介
原創(chuàng)!!!利用swing 調(diào)用 swt 通過swt 調(diào)用ole ,絕對有效!窗體可以放在JPanel 里面,工程下載把swt2 指向lib包,Run 即可!!!

代碼片段和文件信息
package?com.test;
import?java.awt.BorderLayout;
import?java.awt.Canvas;
import?javax.swing.Jframe;
import?javax.swing.JPanel;
import?org.eclipse.swt.SWT;
import?org.eclipse.swt.awt.SWT_AWT;
import?org.eclipse.swt.layout.FillLayout;
import?org.eclipse.swt.ole.win32.OleClientSite;
import?org.eclipse.swt.ole.win32.Oleframe;
import?org.eclipse.swt.widgets.Display;
import?org.eclipse.swt.widgets.Shell;
public?class?Sword?extends?Jframe?{
private?static?final?long?serialVersionUID?=?-7511601547609623217L;
private?static?Oleframe?oleframe1;
public?static?void?main(String[]?args)?{
?final?Jframe?frame?=?new?Jframe();
?//關(guān)鍵?使用?canvas?進行交互
????????Canvas?canvas?=?new?Canvas();
????????JPanel?jp?=?new?JPanel();
// ????????jp.setBounds(0?0?3?340);
frame.getContentPane().add(jp);
jp.add(canvasBorderLayout.CENTER);
jp.getParent().add(canvasBorderLayout.CENTER);
// ????????frame.getContentPane().add(canvasBorderLayout.CENTER);
????????frame.setVisible(true);
????????frame.setSize(600?600);
????????final?Display?display?=?new?Display();
????????//利用SWT_AWT.new_Shell?交互
????????final?Shell?shell?=?SWT_AWT.new_Shell(displaycanvas);
????????
????????shell.setLayout(new?FillLayout());
shell.layout();
shell.setSize(800?600);
initGUI(shell);
shell.open();
while?(!shell.isDisposed())?{
if?(!display.readAndDispatch())
display.sleep();
}
????????
}
private?static?void?initGUI(Shell?shell)?{
try?{
// FillLayout?thisLayout?=?new?FillLayout(org.eclipse.swt.SWT.HORIZONTAL);
// shell.setLayout(thisLayout);
// shell.setSize(229?54);
oleframe1?=?new?Oleframe(shell?SWT.NONE);
try?{
OleClientSite?site?=?new?org.eclipse.swt.ole.win32.OleClientSite(
oleframe1?org.eclipse.swt.SWT.NONE
// “Excel.Sheet“);
“Word.Document“);
// site.setBounds(0?0?104?54);
// site.setBounds(0?0?1800?800);
site.doVerb(org.eclipse.swt.ole.win32.OLE.OLEIVERB_SHOW);
}?catch?(org.eclipse.swt.SWTException?e)?{
String?str?=?“Create?OleClientSite?Error“
+?e.toString();
System.out.println(str);
return;
}
shell.layout();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
public?Sword()?{
super();
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????304??2009-09-19?11:00??SwingWord\.classpath
?????文件????????385??2009-09-19?10:57??SwingWord\.project
?????文件???????2924??2009-09-19?11:00??SwingWord\bin\com\test\Sword.class
?????文件????2010227??2009-09-19?11:00??SwingWord\lib\org.eclipse.swt.win32.win32.x86.source_3.4.1.v3449c.jar
?????文件????2123125??2009-09-19?11:00??SwingWord\lib\org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar
?????文件??????15807??2009-09-19?11:00??SwingWord\lib\org.eclipse.swt_3.4.1.v3449c.jar
?????文件???????2353??2009-09-19?10:58??SwingWord\src\com\test\Sword.java
?????目錄??????????0??2009-09-19?11:00??SwingWord\bin\com\test
?????目錄??????????0??2009-09-19?10:58??SwingWord\src\com\test
?????目錄??????????0??2009-09-19?11:00??SwingWord\bin\com
?????目錄??????????0??2009-09-19?10:57??SwingWord\src\com
?????目錄??????????0??2009-09-19?11:00??SwingWord\bin
?????目錄??????????0??2009-09-19?11:00??SwingWord\lib
?????目錄??????????0??2009-09-19?10:57??SwingWord\src
?????目錄??????????0??2009-09-19?10:57??SwingWord
-----------?---------??----------?-----??----
??????????????4155125????????????????????15
評論
共有 條評論