| MacOS | ![]() |
|---|---|
| Windows | ![]() |
| Swing(Java) | ![]() |
| SX-WINDOW(X68k) | ![]() |
どんなGUIシステムにでも存在する最も基本的な部品がボタンである。外見はシステムによって様々だが、全てにおいて共通することは「押せる」、この一言に尽きる。ボタンが押された場合には、押されているということを示すために強調表示される。モノクロ環境では反転表示、多色環境ではほぼ間違いなくへこんだような感じに変化する。というよりは、そのような動作をするものをボタンと呼ぶと表現したほうが正しい。押しても反転したりへこんだりしないものは、普通ボタンとは呼ばない。
ボタンは主にユーザーの意志をコンピューターに伝える為に使われる。コンピューターに命令を与えるとも言え、コマンドボタンと呼ばれる事もある。が、確認ダイアログのように、ユーザーに押すことを強要する場合もあるので、主従関係は割とあやふやなのかもしれない。また、いずれかのボタンを押さないとにっちもさっちも行かなくなる様な場合には、とりあえずこれを押しておけば安心というデフォルトボタンが用意される。これは他のボタンと区別がつくように何らかの装飾が付けられ表示される。操作の簡略化のために、特定のキー操作を行うとデフォルトボタンを押したことにするという機能が用意されることもある。
物理的なボタンは押した瞬間にボタンに割り当てられた機能が発動するのだが、GUIのボタンはいったん押して、そして放したときに発動する。これはボタンを押さなかったことに出来るようにするためである。ボタンを押したままマウスカーソルをボタンの外に出すと強調表示が解除される。このときにマウスのボタンを離せば押さなかったことになるという仕掛けだ。この仕組みは押して何とかする系のGUI部品――たとえばラジオボタンやチェックボックスなどに共通の操作方法となっている。
押すとへこむという都合上、押す前は出っ張っている感じになっていることが多い。が、そうでない場合もある。たとえばSwingのボタンは出っ張ってはいない。 Netscape Communicator 4.7のツールバーのボタンは、普段は出っ張ってはおらず、マウスカーソルを上に持っていくと出っ張った表示に変化し、俺は押せるのだ! ということを主張するようになっている。枠があると見た目がうるさくなるので省きたいのだが、しかしそれでは見ただけでは押せるかどうか分からなくなってしまう、という理由からだと思われる。このような宝探し的なインターフェースは一般に良くないと言われているが、ツールバーに載っているのはボタンに決まっているという先入観のせいか、割と問題無く受け入れられているようだ。
りゅう/rryu@t3.rim.or.jp