Seems like a mixed bag, to me. The more you know about anything, the greater your knowledge-base with which to approach something new. But, broad experience can breed false expectations. Just because another library resembles Swing in some ways, doesn't mean it will resemble it in others and, if you unconsciously start to expect similarities that don't exist, your prior knowlege may lead you into frustrating conflicts between what you expect and what you have.
I've been doing some work at a very entry level with VB.NET. Like Swing, VB.NET doesn't want you to make calls to its GUI objects from foreign threads. Now, if you know why Swing objects ought not to be called from off the EDT, when you run into that aspect of VB.NET, you say, "Oh, sure, that makes sense." Further, you discover that, unlike Java, VB.NET is so intertwined with its GUI objects that it actually detects and prevents foreign threads from making these illegal calls. Tracking down the error messages, you find that something akin to "InvokeLater" is part of the solution. But (and this is where I have already hit my limit in VB.NET, for the moment), the prohibition is
not against calls to GUI objects from off the "main"
thread (the EDT, in the case of Swing), but against calls to GUI objects from outside the thread that created them. The implication, I believe, is that a worker thread can, in fact, create its own GUI objects and update them safely. I've never tried that in Swing (someone who has, please tell us if it's safe), but, right away, I see that practices I have developed while using Swing might not be fully applicable to VB.NET's GUI tools.
I guess my short answer would be: Yes, knowlege of Java Swing can be helpful in non-java things, but keep your eyes open and don't presume anything.