2016-06-23 4 views
0

現在、私はOpen Office Extensionで作業しており、ある時点でいくつかの問題があります。 私は3つのテキストフィールドでOpenOffice Writerタブで設定ページを作った。 これで、ユーザーがこのフィールドに入力したテキストを取得します。Open Office Extensionは、設定ページからテキストフィールドの値を取得します

XControl textfield2 = _xControlCont.getControl("TextField2"); 


    XTextComponent username = (XTextComponent) UnoRuntime.queryInterface(XTextComponent.class, textfield2); 


    passwd = password.getText(); 

私は右の先頭にnullポインタ例外を取得していますし、Optionspageが開いていないとき、私は問題は、このコードで私はテキストフィールドの値を取得傾けることであると思う:

は、私はこれを試してみました。

入力したすべての値が正しいかどうか、私たちのサーバーに接続できるかどうかをテストする、別のクラスでちょっと同じコードを実行しています。 ゲッターメソッドでそこからコードを取得しようとしましたが、これも機能しませんでした。ここ

は一例です:

@Override 
    public void actionPerformed(ActionEvent actionEvent) { 
    boolean testConnection = false; 
    XControl label = _xControlCont.getControl("Label4"); 
    XFixedText xLabel = (XFixedText) UnoRuntime.queryInterface(XFixedText.class, label); 


    XControl textfield2 = _xControlCont.getControl("TextField2"); 



    XTextComponent username = (XTextComponent) UnoRuntime.queryInterface(XTextComponent.class, textfield2); 



    user = username.getText();} 

と、このメソッドの外で私はゲッターを使用しています。 org.openoffice.demo.DocumentUpload.run(DocumentUpload.java:56)でスレッド "スレッド-15" のjava.lang.NullPointerException で

例外

: これは私が取得しています例外であります

あなたのうちの1人が私を助けてくれることを願っています。

+0

私が正しく理解していれば、このコードは正しく動作します: 'passwd = password.getText();'。問題が発生したコードを投稿してください。また、エラーメッセージや不正な動作は何ですか? http://stackoverflow.com/help/how-to-askを参照してください。 –

+0

が追加されました。 – FreeKill

+0

エラーが発生した場所を示す完全な例外メッセージを投稿してください。 '_xControlCont'はどこに定義されていますか?おそらく、それは 'TextField2'と呼ばれるコントロールを持っていません。可能であれば、問題を示す[MCVE](http://stackoverflow.com/help/mcve)を書きます。 –

答えて

0

明らかに_xControlContはnullです。オブジェクトが使用される前に必ずコードが作成されるようにしてください。

XControlContainerを使用する例があります。

EDIT

ページが開いていないときにテキストフィールドをアクセスしないでください。代わりに、ページが開いているときにテキストフィールドの文字列を変数に保存します。その後、保存された文字列を読み込みます。

コードによっては、文字列をuser field variablesやデータファイルなどの永続ストレージに保存することも、ダイアログウィンドウから引数として返すこともできます。例:

optionsDialog.doExecute() 
results = optionsDialog.getResults() 
+0

はい私は知っていますが、どうすれば作成できますか?私はいくつかの方法でそれを試したが、それはちょうど仕事を失う。 OptionsPageが開かれていないときにプラグインがTextfieldを取得できないようです。 – FreeKill

関連する問題