Is there is a generic, widely understood term for GUI elements. I have programmed so many GUI toolkits, I couldn't tell if Windows-only programmers know what the Java crowd means when they talk about widgets
. Does a GTK+ user know what a control
is? And does anybody besides me remember gadgets
?

- 12,111
- 21
- 91
- 136

- 25,272
- 21
- 67
- 103
8 Answers
Qt uses widgets, Swing uses Components. Most gui programmers will understand what you mean when you say a scroll-widget/component.

- 57,995
- 32
- 132
- 151
-
When I taught programming in a school, I got a kick out of using the word "widget" in kids reports. Guaranteed that everyone who proof-read circled it... – Matthew Schinckel Feb 02 '09 at 12:11
-
Could you explain that for non native speakers? – EricSchaefer Feb 02 '09 at 14:06
As component is to generic, I'd say: Visual component.
It just describes exactly what it is: a visible, self-contained element, that does some well-defined task.

- 26,265
- 16
- 90
- 133
According to my Human-Computer Interaction teacher and to the this HCI manual the name is "widget".

- 23,338
- 31
- 90
- 128
I would say "element". "Component" evokes COM object for me.

- 16,909
- 15
- 69
- 114
-
s'funny because "element" evokes XML for me! And nothing evokes COM :) – tddmonkey Feb 02 '09 at 12:15
I don't think there is one term to cover it, but window, component, widget and control are all in widespread use, so I would think most developers understand them all, although they may mean slightly different things in different frameworks (i.e. which is the lowest common class/component in the framework).
Actually, I think GUi element (or graphical element/interface element) is a pretty good catch-all term.

- 20,720
- 16
- 59
- 73
As noted in this SO question, naming is hard, and that makes this question very much program-related!
As specified in the javadoc of org.eclipse.swt.widgets.Widget, a Widget refers to "user interface objects" in general.
So it might be more precise than the too-generic term "component".
Symbian (currently) uses controls, but S60 is in the process of moving to QT so this is likely to move to widgets.
I'd suggest that you stick to the convention of your GUI framework. That way people who invested the time to learn the framework will know what you mean, and those who don't wouldn't know what you meant till they did anyway. If it's for a framework independent article or some such, define what you mean either at the start or in an appendix (for example: control - a GUI element, also commonly known as component, widget, etc).

- 25,101
- 4
- 35
- 56