- PR -

swingのパネルにExcelを貼り付けたい

1
投稿者投稿内容
tail
会議室デビュー日: 2006/07/18
投稿数: 1
投稿日時: 2006-07-18 14:59
現在Swingでアプリを作ってます。

環境
java 1.4.2.10
OS Windows XP

Swingのパネル上に直接Excelを貼り付けることができるのかお聞きしたいです。

一応...SWTのパネルにExcelをに貼り付けて、Swingと連携してみましたが、SWTとSwingのパネルが分かれてしまい、うまくいきませんでした。
そもそも、SwingにExcelを貼り付けることは無理なのでしょうか?


ちなみにSWTのバージョンは、3.2です。

*** 以下コード部分 ***

JFrame jframe = new JFrame("これにEXCELを貼り付けたい");
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Canvas canvas = new Canvas();
jframe.getContentPane().add(canvas, BorderLayout.CENTER);
jframe.setVisible(true);
jframe.setSize(400,420);

Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
jframe.setSize(400,380);

SWT_AWT.new_Shell(display, canvas);
OleFrame frame = new OleFrame(shell, SWT.NONE);

OleControlSite site = new OleControlSite(frame, SWT.NONE, "Excel.Sheet.8");

OleAutomation auto = new OleAutomation(site);
int[] rgdispid = auto.getIDsOfNames(new String[] { "Open" });
if(rgdispid != null){
int dispIdMember = rgdispid[0];

Variant[] rgvarg = new Variant[1];
rgvarg[0] = new Variant("C:\\book1.xls");


Variant pVarResult =auto.invoke(dispIdMember, rgvarg);
}
auto.dispose();

site.doVerb(OLE.OLEIVERB_SHOW);

shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
1

スキルアップ/キャリアアップ(JOB@IT)