プロンプト風ペイン(1)

Swingのコマンドプロンプト風のペインを探しているんだけど、見つからない・・・
ということで、ちょっと作ってみようかと思う。


まずは何を継承するかだけど、普通に考えてJTextComponent系列だと思う。今回はJTextAreaをスーパークラスとして作ってみようかと思う。名前はPromptPane。最低限実装したい機能は以下の通り。

  • 入力を受け付けるのは最後の行のみ
  • 上下キーによる履歴の参照
  • Tabキーによる補完機能
  • Escキーによる入力文字の消去

まぁ、こんなもんでどうだろうか。これらの機能はキー入力にかかわるものばかりなので、PromptPaneのコンストラクタでKeyAdapterクラスのkeyPressedメソッドをオーバーライドして、addKeyListenerメソッドで登録すればいいだろう*1


今日はここまでで、次は必要なインターフェイスでも考える予定。果たして、いつになるのやら・・・

*1:この拡張方法が一般的ではないと思うけど、これしか思いつかない・・・