Se você quer desenvolver aplicações java desktop com Swing, o mais recomendável (na minha opinião) é o Netbeans, apenas por ter um editor drag e drop melhor.
O Eclipse eu acho o mais bonito, tem a interface mais clean, não gera lixo como o netbeans, é padrão de mercado, etc.
Eu nunca vi alguém desenvolvendo em java com Visual Studio.
A versão Ultimate é paga, a versão Community não, porém ela tem muitas limitações!
Pra quem ainda estuda ou qualquer coisa do tipo, e que possua um comprovante disso, eles liberam licença de uso gratuita pelo período comprovado no documento.
Se estiver falando do Visual Studio Code, até rola Java.
Se teu foco é mercado, maioria das equipes produzem com Eclipse. Você pode experimentar cada uma delas e tirar suas próprias conclusões, pra minha experiencia Eclipse é o melhor, mas pra sua pode ser outra. Lembrando se escolher algo diferente do que a equipe usa, se permitido, vai ter que se garantir. Se um colega me pedir ajuda sobre IntelliJ ele vai ter que se virar.
Para o Swing, tecnologia padrão desktop do JDK, concordo com @Mike, Netbeans é mais suave pra iniciantes. Mas como Java para desktop é fora de cogitação, veja bem qual seu objetivo.
Já usei pra desenvolver bindings pra integrar com C++ usando JNI e Swig. A maioria do projeto estava em Visual Studio e não quis usar outra IDE só pra isso que eram coisas bem pontuais.