スパゲッティ生産所

コードの走り書きとかメモとか日常のこととか

GAE/J+EclipseでTwitter4Jを使うときに注意すべきなこと

自分が引っかかった点をまとめます。

1,外部jarの置き方

Eclipseで普通に外部のライブラリを追加するときは,

ビルドパスの構成 >> ライブラリ >> 外部jar追加

で行います。GAEのプロジェクトでも上記の手順は行わなければいけませんが、それとは別に、war/WEB-INF/libに

インポート >> ファイル・システム

でそのライブラリを追加してください。これで動くようになります。

2,Consumuerkey/Consumerkey Secretの設定方法

Twitter4jでCS/CKを設定する方法はいくつかありますが、GAEではapp-engine.xmlで設定します。
app-engine.xmlの<system-properties>に
<property name="oauth.consumerKey" value="[Consumerkey]"/>
<property name="oauth.consumerSecret" value="[Consumerkey Secret]"/>
を追加してください。

デバッガーの募集

現在製作中のライブラリのデバッガーを募集します

といっても5分くらいで終わる簡単なものです

やってもいいよって人は下のリンクから落としたzipを解凍してReadmeを読んでください(jarファイルが実行できる人を対象にしています)

 

https://docs.google.com/uc?id=0B4vjq1aBIrLRbXA2aEVOVTNYWW8&export=download

Eclipse本体を更新する話

Eclipseの本体の更新が来てました。JUNO(4.2)から新しくKepler(4.3)という名前になりました。このEclipseのネー ミングセンスは結構好きです。

さて、新しいEclipseに古いEclipseのプラグインを移植する方法を書きます。

まず、新しいEclipseを古いEclipseとは別のフォルダにインストールします。

次に新しいEclipseを起動し、File -> Import -> Install -> From Existing Installationを選択します。

その後、From application installationに古いEclipseがインストールしてあるフォルダを指定すると、古いEclipseにインストールしてあるプラグインの一覧 が出るので、新しいEclipseに入れたいプラグインのみを選択してインストールします。

ContextMenuの優先度の話

JavaFXでは右クリック時に出るメニューとしてContextMenuとMenuItemが用意されています。メニューをセットする場合は、出 てくる項目分のMenuItemを用意して、それをContextMenuに追加し、コントロールにContextMenuを設定します。

ListViewもコントロールなので、同様にしてContextMenuを設定することができます。この時、ListView本体と ListViewにのせたコントロールの両方にContextMenuが設定されていた場合は、後者の方が優先されます。

 

 

class SampleController implements Initializable{

    @FXML

    private ListView testView;

    @Override
    public void initialize(URL url, ResourceBundle rb) {

        ContextMenu c = new ContextMenu();

        MenuItem m = new MenuItem("アイテム1");

        c.getItems().add(c);

        testView.getContextMenu(c);

    }

    private void addViewItem(String str){

        Label label = new Label(str);

        ContextMenu c = new ContextMenu();

        MenuItem m = new MenuItem("アイテム2");

        c.getItems().add(c);

        label.getContextMenu(c);

        testView.getItems().add(label);

    }

}

 

 

この場合、ListViewの項目を右クリックするとアイテム2が表示されます。アイテム1は表示されません。

アプリケーション更新

GitHubのコードを更新しました。今日は多めに2つ、User表示画面にフォローボタンの追加、DMのStreaming受信になります。これ でこのアプリケーション全体では1054行になりました。自分が1000行を超えるソースコードの設計に耐えられるくらいには成長したようで、結構嬉 しいです。

 

[FX_Sample] https://github.com/HM-MEA/FX_Sample/commit/c4727275851a91ea7da8e470e87e3d87102e4d18 HM.MEA - Add FollowButton on UserWindow

[FX_Sample] https://github.com/HM-MEA/FX_Sample/commit/13c460bedfd3468250a13c6dc0baf2508e1ff0d9 HM.MEA - Add DirectMessage Listener

 

 

アプリケーション更新

GitHubに新しいコードをあげました。今回は全体のブラッシュアップとユーザーの表示、会話表示に対応しました。もう少しで完成です。

 

[FX_Sample] https://github.com/HM-MEA/FX_Sample/commit/9e78ae4b45a1c1375a0885e82b25d022cec812d1 HM.MEA - Add UserWindow and StringController