Netbeans用のプラグインを作成しています。 パート2

前のパートでは、Pastebinのプラグインの作成について説明しました。また、モジュールのアクションを作成し、メニューの特定のコマンドに関連付ける方法についても学びました。 この記事では、認証と設定ウィンドウを追加して、プラグインの機能を拡張します。





設定ウィンドウ



設定ウィンドウにタブを作成して、すぐに始めましょう。 「新規」->「その他」->「モジュール開発」で「オプションパネル」を選択し、「次へ>」をクリックします。

設定でタブを作成



設定でプライマリパネルまたはセカンダリパネルの作成を選択できます。 主要なものは何も必要ありません。Miscellaneousパネルの場所に非常に満足しています。 [セカンダリパネルの作成]を選択し、[プライマリパネル]フィールドで[詳細設定]を選択して、タイトルとキーワード(「ペーストビン」など)を指定します。

二次パネル設定



次のステップで、「パッケージ」が正しく指定されていることを確認し、デフォルトで「クラス名プレフィックス」のままにします。 [完了]をクリックして、生成されたPastebinOptionsPanelControllerクラスとPastebinPanelフォームを取得します。 検証のためにモジュールをすでに実行できます。

設定のタブの種類



ご覧のとおり、タブは必要な場所に作成されましたが、空のままです。 状況を修正しましょう。

pastebinで認証を成功させるには、ユーザー名とパスワードが必要です。 JTextFieldとJPasswordFieldをPastebinPanelにドラッグし、loginTextFieldとpasswordFieldを呼び出してより便利に配置します。

コンポーネントの場所

作成した設定ウィンドウ。



設定の保存と復元



PastebinPanelクラスのコードを開くと、store()/ load()メソッドが設定の保存と復元を担当していることが簡単に推測できます。 Netbeansは、コメントアウトされた行で物事を行うための3つの可能なオプションを示しています。 最初のオプションは、Preferences APIを使用して保存/ロードすることで、2番目と3番目はNetbeansプラットフォームを使用します。 3番目の方法は時代遅れなので、2番目に提案された方法は私たちに適しています。 コードを書きます:

public static final String LOGIN_KEY = "PastebinLogin", PASSWORD_KEY = "PastebinPassword"; void load() { loginTextField.setText(NbPreferences.forModule(PastebinPanel.class).get(LOGIN_KEY, "")); passwordField.setText(NbPreferences.forModule(PastebinPanel.class).get(PASSWORD_KEY, "")); } void store() { NbPreferences.forModule(PastebinPanel.class).put(LOGIN_KEY, loginTextField.getText()); NbPreferences.forModule(PastebinPanel.class).put(PASSWORD_KEY, String.valueOf(passwordField.getPassword())); }
      
      





それでは、パフォーマンスを確認します。 開始し、値を入力して[OK]をクリックし、戻ってすべてが正常に保存されたことを確認します。 素晴らしい、保存とロードが整理されたので、難しくありませんでした。



ペーストビン認証



最後の部分では、コードをpastebinに送信することを既に書いているので、 PastebinRequestクラスとPastebinSenderクラスがまだあります。 PastebinRequestから追加( "api_user_key"、 "")を削除し、メソッドを追加します。

 public void setUserKey(String key) { append("api_user_key", key.trim()); } public String getUserKeyRequest(String user, String pass) { StringBuilder request = new StringBuilder(); request.append("api_dev_key=").append(API_DEV_KEY); request.append("&api_user_name=").append(encode(user)); request.append("&api_user_password=").append(encode(pass)); return request.toString(); }
      
      





PastebinSenderクラスを少し書き換える必要があります。

ここで、PastebinActionクラスで、setupRequestメソッドの最後に次の行を追加します。

 String user = NbPreferences.forModule(PastebinPanel.class).get(PastebinPanel.LOGIN_KEY, ""); String pass = NbPreferences.forModule(PastebinPanel.class).get(PastebinPanel.PASSWORD_KEY, ""); String userKey = PastebinSender.getUserKey(request.getUserKeyRequest(user, pass)); request.setUserKey(userKey);
      
      







まず、設定にデータを入力し、コードを送信しようとします。 数秒後、リンクのあるウィンドウが表示されます。 コードの送信者はGuestではなく、私たちです。 やれやれ!



ローカリゼーション



前の記事のように、プラグインの英語版については説明しませんので、ロシア語を追加します。 前回これを忘れなかった場合、Bundle.propertiesとBundle_ru_RU.propertiesの2つのファイルが必要です。 最初のファイルを開くと、行が自動的に追加されたことがわかります。

PastebinPanel.jLabel1.text =ログイン:

PastebinPanel.loginTextField.text =

PastebinPanel.jLabel2.text =パスワード:

PastebinPanel.passwordField.text =

2行目と最後の行は不要なので、削除します。 また、削除された行のPastebinPanelコンポーネントへのバインドを削除する必要があります。 このクラスをデザインモードで開き、loginTextFieldを選択して、コンテキストメニューで[コードのカスタマイズ]を選択します。 このフォームにコードを追加します。

コードをカスタマイズする



passwordFieldでも同じことを行う必要があります。

Bundle_ru_RU.propertiesに次の行を追加します。

PastebinPanel.jLabel1.text =ログイン:

PastebinPanel.jLabel2.text =パスワード:



まず、結果を確認します。

結果



あとは、NBMモジュールを作成するだけです。 これを行う方法については、前の記事で説明しました。



まとめ



モジュールの設定パネルを作成し、設定を保存および復元する方法を学びました。 また、承認を追加することにより、pastebin.comクライアントを改善しました。

このパートで受け取ったプロジェクトへのリンクはこちらです。



この記事も役立ちます。



All Articles