Swingでテキストエディタをつくる
Swingでサンプルプログラムとしてテキストエディタをつくってみました。実用的ではありませんが、テキストエディタとして最低限必要な機能は一通り盛り込めたとは思います。
動作環境
こちらの環境
OS | WindowsXP |
JRE | 1.5.0_04 |
JREのバージョンについて
インストールされているJavaのバージョンを調べるにはコマンドラインでjava -versionと打ち込みます。1.4.2でも動くように作成したつもりですが、確認はしていません。 JRE ver.1.4.2_09でもおおむね問題なく動作するようです。とはいえ、新しいバージョンのJREを使うことを推奨します。
- Java 2 Platform Standard Edition 5.0 のダウンロード
- http://java.sun.com/j2se/1.5.0/ja/download.html
スクリーンショット
クリックすると拡大します。
メニューと関連するメソッド
- ファイル
- 編集
- 表示
- ヘルプ
- ヘルプ
- NogNoteについて
キーボードショートカット
Macの場合、コントロールキー(Ctrl)はコマンドキー(Cmd)になります。Technical Note TN2042 の Swing のメニューとメニュー項目にあるように、Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
を使用しています。
Ctrl+A | 全て選択 | Ctrl+C | コピー |
Ctrl+F | 検索と置換 | Ctrl+G | 行へ移動 |
Ctrl+I | タブの挿入 | Ctrl+J | 改行 |
Ctrl+M | 改行 | Ctrl+N | 新規 |
Ctrl+O | 開く | Ctrl+P | 印刷 |
Ctrl+S | 保存 | Ctrl+V | 貼り付け |
Ctrl+W | 終了 | Ctrl+X | 切り取り |
Ctrl+Y | やり直し | Ctrl+Z | 元に戻す |
F1 | ヘルプ | F3 | 前を検索 |
F4 | 次を検索 | Delete | 削除 |
ソース等
下記の注意事項を読んだ上で、ダウンロードしてください。ダウンロードした時点で同意したものと見なします。コンパイルしたい人はjavaファイルを選択してください。単に動かしてみたい人などはjarファイルを選択してください。
- ソース (javaファイル)
- javac *.java (Windows 環境以外では、javac -encoding Shift_JIS *.java)
-> java NogNote
- アーカイブ (jarファイル)
- (普通のアプリケーションと同様に)ファイルをダブルクリックするか、javaw -jar NogNote.jar
注: このアプリケーションを起動させた後、jTextArea.xmlとjFrame.xmlというファイルが作られますが、これは設定を保存したファイルです。
注意事項
このテキストエディタに対するテストは不十分です。テキストエディタを使用していかなる結果がもたらされようと一切責任を取りません。それを了承の上、自己責任のもとでご利用ください。
ライセンス(2008年6月7日追記)
長い間テキストエディタのライセンスを明記していませんでしたが、問い合わせが来たのでライセンスを明記することにしました。以下に示す宣伝条項のない 2-clause BSD ライセンスにします。
Copyright (c) 2005,2006, Nog
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.