The De Facto Button
by Kieran- Published:March 24th, 2008
- Comments:No Comment
- Category:Pages
In the great wide expanse of software there exists a feature which is common to a large proportion of software products, something which you never notice yet your eyes are a victim of its look, and its feel. Without this feel an application can feel stodgy, much like an unfinished painting. You may think this "feature" is an awe-inspiring, turn-of-the-century feature that changed the face of the earth as we know it, but alas, it is merely the button, and more importantly, how it behaves.
Searching the Internet never seemed to help on my quest to find out where on earth the library features exist in order to achieve the desired effect. The effect I talk of is how your button reacts to a mouse roll-over, click, and the mouse-out event. Try it in most of your applications, you’ll find the behaviour is the same, if not very similar. Upon rolling your mouse over that small button the state changes to this bordered, lighter-coloured button indicating that it’s feeling under the spotlight of that tiny little cursor. The much awaited click again changes the look of the button to make it seem as if it has been trodden on. And finally, the mouse-out event where its state is returned back to normal.
Java, much like any other language and their relative libraries, don’t just support this kind of behaviour normally. An intricate web of code must exist to support this kind of behaviour, and so for every button that exists you must add listeners. I myself created my own data type, extending the functionality of JToggleButton and the likes. It took quite a while to achieve the desired effect due to the nature of my application, but I eventually got there. The situation becomes even more difficult when you’re supporting selectable buttons.
In human-computer interaction this kind of look and feel is vital for end-users and how they interact with the application. The desktop metaphor - making sure users have something familiar they can interact with - is also vital to how usable your system will be. I heavily advise that this type of feel is applied to all of your applications. And of course, this doesn’t apply just to Windows-based systems, but Linux and Apple based operating systems also.


No Comments
No comments yet.