- 未記入
- 会議室デビュー日: 2004/07/02
- 投稿数: 2
|
投稿日時: 2004-07-02 20:03
さっそくですが、現在Appletからボタンを押したタイミングで
PDFファイルを別ブラウザ(IE) で起動という処理を作っています。
その際、
| コード: |
|
URL ur = new URL("C:\\hoge\\test.pdf");
showStatus(ur.toString());
this.getAppletContext().showDocument(ur,"_blank");
|
としているのですが、getAppletContextがnullと来てしまいます
| コード: |
|
java.lang.NullPointerException
at java.applet.Applet.getAppletContext(Unknown Source)
at java.applet.Applet.showStatus(Unknown Source)
at example.client.TestForm.button1ActionPerformed(TestForm.java:169)
at example.client.TestForm.access[1code]
java.lang.NullPointerException
at java.applet.Applet.getAppletContext(Unknown Source)
at java.applet.Applet.showStatus(Unknown Source)
at example.client.TestForm.button1ActionPerformed(TestForm.java:169)
at example.client.TestForm.access$0(TestForm.java:123)
at example.client.TestForm$1.actionPerformed(TestForm.java:78)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
[/code1](TestForm.java:123)
at example.client.TestForm.actionPerformed(TestForm.java:78)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
|
色々なサイトでサンプルを見てみたんですが、urlしか指定していなかったのですが
この場合別ファイル(PDF)というのは呼べないものでしょうか?
どなたかご教授くださると幸いです
// 追記
このクラス自身でAppletContextがnullと
なってしまっているのですが、この場合どのようにして
回避すればいいのでしょうか・・・
[ メッセージ編集済み 編集者: 未記入 編集日時 2004-07-05 12:55 ]
|
- Kissinger
- ぬし
- 会議室デビュー日: 2002/04/30
- 投稿数: 428
- お住まい・勤務地: 愛知県
|
投稿日時: 2004-07-03 10:00
getAppletContextがnullなのではなく、getAppletContextの中で nullへの
アクセスを行っているのですね。
Sun J2SDKの java.applet.Applet.javaを部分的に引用させてもらいますと、
| コード: |
|
public AppletContext getAppletContext() {
return stub.getAppletContext();
}
|
ですから、唯一アクセスしているオブジェクト stubが nullだということになります。
さらに、同ソースのコメントには
| コード: |
|
// If stub field not filled in, applet never active
|
とあります。アプレットがアクティブでないということ?
| 引用: |
|
アプレットは、start メソッドが呼び出される直前にアクティブになり、stop メソッドが呼び出される直前にアクティブでなくなります。
|
ので、もしかして、init() の中で処理しているとか?
|
- aa
- ぬし
- 会議室デビュー日: 2004/01/08
- 投稿数: 299
|
投稿日時: 2004-07-03 10:01
ローカルのPDFファイルを表示ってのもなんですから、サーバ側に置いて、httpで見に行ったらどうですかね。
|
- 未記入
- 会議室デビュー日: 2004/07/02
- 投稿数: 2
|
投稿日時: 2004-07-05 12:52
Kissinger様>
処理としてはボタンが押されたタイミングの
ActionPerformedの中で行っています。
ただ、ボタンなどaddActionListener自体はinitの
中で各コンポーネント作成時に記述しているのですが
この記述だと、initタイミングとして認識されてしまう
ものでしょうか? satrtメソッドをオーバーライドし、
明示的にその中で記述した方がよいでしょうか?
また、ご意見から、現状のエベント処理に入った時点(又はinit)などで
プログラムからアクティブ状態する事は可能でしょうか?
setActiveのようなことを考えてドキュメント漁ってみたんですが
見当たらなかったんですが、上記方法可能なものでしょうか?
| 引用: |
|
getAppletContextがnullなのではなく、getAppletContextの中で null
|
論点ずれて探してしまってたので、助かりました。
aa様>
すいません、情報不足でした。ウェブサーバ内に置いています。
現状ローカルサーバでやっていた為、おかしな記述になってしまいました(^^;
質問責めになってしまい申し訳ありませんが、ご意見などありましたら
よろしくお願いいたします。
|