- - PR -
swingのパネルにExcelを貼り付けたい
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