Talk:Swing (Java)
![]() | Computing: Software Unassessed | ||||||||||||
|
![]() | Java Start‑class Mid‑importance | |||||||||
|
More lightweight/heaviweigth discussion
The following phrase seems to be a leftover and does not make sense in the current context.
"The disadvantage of lightweight components is slower execution. The advantage is uniform behavior on all platforms."
71.112.18.252 (talk) 02:15, 28 November 2007 (UTC)
Swing Origins
I had a recent assignment to find the origin of the name of Swing (Java) and one student submitted this link stating that the name was based off the 1930's dance craze. Can anyone else confirm or deny this claim with sources? I already googled and looked through the Sun website.
- Closest reference I can find is from an 1998 version of the Swing website: "Swing was the project name chosen by the developers of the new high-level components. Although these components are now part of the JFC software, the Swing name persists." I would not be surprised if the Swing team chose the name based on the dance (as opposed to the several other meanings of that word). I seem to recall hearing something to that effect at the time, but can't track down a reference. -- BrianDuff
I wondered about this, and found this article which seems kosher. http://blogs.sun.com/thejavatutorials/entry/why_is_swing_called_swing Ety uncertain (talk) 07:24, 30 June 2009 (UTC)
Swing on Vista
Suggest we get a section on (and screenshots of) Swing in Vista - apparently it's rather more than just a port from XP. Some links : http://weblogs.java.net/blog/chet/archive/2006/10/java_on_vista_y.html http://weblogs.java.net/blog/chet/archive/2005/08/mustang_swing_a.html
--Wootery 23:09, 12 December 2006 (UTC)
Lightweight/heavyweight distinction
Was just skimming through the article for some general information on Swing and found the comparison with AWT unclear:
"...every Swing lightweight interface ultimately exists within an AWT heavyweight component because all of the top-level components in Swing ... extend an AWT top-level container."
A little more explanation of the relationship between the two would be helpful: if the AWT components are tied to native OS controls, and the Swing components are extensions of AWT components, how then do the Swing components manage to be "lightweight"? Are these AWT top-level containers so abstract as to not involve any of the "heavyweight" code? Do the Swing components extend them just to retain a consistent interface?
- Only the top level components like windows are heavyweight, the components inside them (buttons, scrollbars, text fields, etc) are not - for the most part they're drawn using Java graphics routines. So it means that a JButton exists within a JWindow and therefore within a Window. --Jamoche 18:49, 8 October 2006 (UTC)
Hello World doesn't run?
I've tried compiling the hello world code, it compiles fine but gives very many errors when run. I've fixed it and would like some feedback.Thatfunkymunki 06:19, 20 March 2006 (UTC)
- All you did was remove the package statement? The package statement is simply a source file organization issue, not a code correctness issue. (The Java package article is in need of some serious work—it doesn't currently provide a whole lot of clarity about the implied directory structure of packages.) I suppose we could add to the article the fact that the package statement implies that the source files are placed in a "helloworld" directory placed in the CLASSPATH, but then again, many IDEs don't require this organization. (Also, when you make a semantic change, such as modifying the source code, you should not mark the edit as minor.) —Doug Bell talk•contrib 07:25, 20 March 2006 (UTC)
I think the example isn't great. I have removed the anonymous class, but really it just shows what a poor example it is.. something along these lines would be clearer.. Simonjl
- You, Simon, should read up on Swing's requirements in regard to thread safety. Your example handles components off of the EDT, which is SPECIFICALLY not correct. Do NOT spread knowledge you do not posses. Stolsvik (talk) 07:53, 30 June 2010 (UTC)
public class HelloWorld { // NOTE NOTE!! THIS IS A INCORRECT AND BROKEN EXAMPLE. // THE EXAMPLE HANDLES SWING COMPONENTS OFF OF THE EVENT DISPATCH THREAD. // IT IS A THREADING AND CORRECTNESS DISASTER IN WAITING. Stolsvik (talk) 07:53, 30 June 2010 (UTC) public static void main(String[] arg) { JFrame f = new JFrame ("Hello, World!"); f.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE); f.getContentPane().add (new JLabel("Hello, World!")); f.pack(); f.setVisible(true); EventQueue.invokeLater (new Thread()); } }
Cryptic example
What's the Event Dispatch Thread? What's an anonymous Runnable class? Why do I have to go to the Concurrency tutorial to just show a label and a button? What rules changed in 2004? OK I don't really ask these questions, but I doubt that anyone who don't know about Swing will understand something about Swing with the example. Maybe he will understand that Swing is an overcomplicated affair and that he should stay clear of it and use Flex or C# instead ;) I'm kidding because I love to use Swing, but I doubt that in it's current state this example is useful at all, even if it is legit. Hervegirod (talk) 00:31, 6 November 2009 (UTC)
- Yes this is a bit awkward. However it only requires 4 lines
EventQueue.invokeLater(new Runnable() { @Override public void run() { .... }});
- of standard boiler plate code to get thread safe behaviour. You can miss this out and it will probably work. However, I don't think it would be right to show technically incorrect code and bad practice.
- One way of organising this would be to have a code fragment first with just the Swing bits. Then introducing the threading example later.--Salix (talk): 07:34, 6 November 2009 (UTC)
JAVA SWING
Swing is a set of classes that provides more powerful and flexible functionality that is possible with standard and advanced AWT(Abstract Window Toolkit) components.These are not implemented by platform specific code. Instead they are written entirely in Java, therefore, they are platform independent. Fundamentals of swing is the JApplet class that extends the Applet class. Applets that use Swing must be subclasses of the JApplet class —The preceding unsigned comment was added by AbhishekDutta1987 (talk • contribs) 02:22, 1 May 2007 (UTC)
Origin of Name
The official word on the name's origin.
http://blogs.sun.com/thejavatutorials/entry/why_is_swing_called_swing
Jon914 18:38, 15 September 2007 (UTC)
Hello world
The Hello world example used on this article is not really a Hello world IMHO:
- the use of Runnable and threading stuff is not necessary in such a basic program as this one, making the example more complex that it should. Threading stuff vs Swing should be in a new paragraph.
- There's too much comments in the code, which should be outside the code, in the paragraph.
- Centering the frame in the middle of the screen is also not necessary in this example.
I have no problem to modify the example myself, but I'm asking for comments on this proposal before ;-) Hervegirod (talk) 10:23, 23 February 2008 (UTC)
- since I have received no comment since February (more than one month), I assumed people agree with my proposal. Hervegirod (talk) 12:29, 28 March 2009 (UTC)
External links
Could someone please have a look at the external links section? The ones that are left after the so-called cleanup from Aug 27th are mostly useless. (A blog with less than 2 dozen entries that was started in May this year remained, but the links to java.sun.com were deleted...) 195.212.29.163 (talk) 14:39, 26 September 2008 (UTC) —Preceding unsigned comment added by 195.212.29.163 (talk)
- I agree. The cleanup of the external links was idiotic. The Swing tutorial link is one I consider invaluable. —Preceding unsigned comment added by 66.245.20.81 (talk) 22:28, 16 August 2009 (UTC)
Disadvantages
Swing has some disadvantages. Most important one seems to be single threaded model, this is very limiting. Also Swing component takes more time to render. Im pretty sure that regular users of Swing can find others. —Preceding unsigned comment added by 82.145.248.24 (talk) 05:02, 6 June 2009 (UTC)
Every GUI framework that puts pixels on screens are single threaded, it's just a question of how they present it to the user. Flex disallows threading entirely, for example. Really Swing has only one thread allowed to touch pixels and objects representing the widgets, but any number of threads that can do anything else. Swing is merely upfront about it's nature. 75.173.228.67 (talk) 04:43, 28 June 2009 (UTC)
download
does anyone know if the seperate release of swing for use on older versions of java is still available for download and if so from where? Plugwash (talk) 15:33, 19 November 2009 (UTC)
Messy Code
That code at the end is a mess. I've written cleaner code and I'm 13. --75.166.224.107 (talk) 21:41, 22 November 2009 (UTC)
- Unassessed Computing articles
- Unknown-importance Computing articles
- Unassessed software articles
- Unknown-importance software articles
- Unassessed software articles of Unknown-importance
- All Software articles
- All Computing articles
- Start-Class Java articles
- Mid-importance Java articles
- WikiProject Java articles