プロンプト風ペイン(1)
Swingのコマンドプロンプト風のペインを探しているんだけど、見つからない・・・
ということで、ちょっと作ってみようかと思う。
まずは何を継承するかだけど、普通に考えてJTextComponent系列だと思う。今回はJTextAreaをスーパークラスとして作ってみようかと思う。名前はPromptPane。最低限実装したい機能は以下の通り。
- 入力を受け付けるのは最後の行のみ
- 上下キーによる履歴の参照
- Tabキーによる補完機能
- Escキーによる入力文字の消去
まぁ、こんなもんでどうだろうか。これらの機能はキー入力にかかわるものばかりなので、PromptPaneのコンストラクタでKeyAdapterクラスのkeyPressedメソッドをオーバーライドして、addKeyListenerメソッドで登録すればいいだろう*1。
今日はここまでで、次は必要なインターフェイスでも考える予定。果たして、いつになるのやら・・・
*1:この拡張方法が一般的ではないと思うけど、これしか思いつかない・・・