Na verdade os sistemas desktop que eu ja usei e conheco, ao serem abertos eles apresentam a tela de login mediante identificação que o sistema monta menus e todas as opções que deverão ficar disponiveis para o usuario conforme seu tipo nivel de acess, no modo hirarquico que o sistema implementa, no meu ponto de vista é o melhor a se fazer para sistemas desktop.
Partindo do principio que voce conhece os componentes Java Swing, voce pega um JPanel joga botos, labels e textfields nele implementa a sua logica de login conecta no banco checa os dados, valida o usuario e guarda o usuario logado em algum lugar para voce recuperar quando precisar.