私は仕事上、JavaでCUIアプリケーションを作成する機会が多々ある。
Javaではパラメータの解析処理を一から実装する必要があり、
独自にCUIアプリケーション作成用のライブラリを作成していたのだが、
apache commonsにこんな便利なライブラリが存在していた!!
今度使ってみよっと
[参考サイト]
apache-commons-cli
Jakarta Commons CLIでJavaコマンドラインも楽々
2008年11月6日木曜日
2008年11月5日水曜日
SwingでWindowの終了を制御する
SwingでWindowの終了時に確認メッセージを表示してから終了させたい場合、以下のように実装する。
DefaultCloseOperationをDO_NOTHING_ON_CLOSEに設定すると、Windowの閉じるボタンを押下したときに何も処理を行わない。
※GUIクラスはJFrameの実装とする
DefaultCloseOperationをDO_NOTHING_ON_CLOSEに設定すると、Windowの閉じるボタンを押下したときに何も処理を行わない。
※GUIクラスはJFrameの実装とする
JFrame gui = new GUI();GUIクラスの初期化処理などで以下のようにWindowListenerを追加し、windowClosing(WindowEvent)メソッドを実装する。
gui.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
gui.setVisible(true);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (JOptionPane.showConfirmDialog(this, "Confirmation") == OptionPane.OK_OPTION) {
dispose();
}
}
});
Swingで任意のコンポーネントにフォーカスを設定する
JComponent#requestFocus()は非推奨のため、JComponent#requestFocusInWindow()を使用する。
[例] テキストボックスが未入力の場合にそのテキストボックスにフォーカスを設定する
[参考サイト]
How to Use the Focus Subsystem
JComponent (Java Platform SE 6)
[例] テキストボックスが未入力の場合にそのテキストボックスにフォーカスを設定する
if (txtBudRoot.getText().isEmpty()) {
txtBudRoot.requestFocusInWindow();
}
[参考サイト]
How to Use the Focus Subsystem
JComponent (Java Platform SE 6)
登録:
投稿 (Atom)