Se eu trabalhasse na Microsoft, e se o Java fosse da Microsoft, eu diria que o Java eh a solucao mais rapida existente no mundo, sendo a unica e melhor solucao para todos os seus problemas.
Mas como eu nao trabalho la, e como muito menos o Java eh da Microsft, eu diria que - como ja disse a Bani -, o Java ja foi bem lento em relacao a aplicacoes graficas. Porem, atualmente já eh uma tecnologia firmada e amplamente aceita no mercado, e os componentes tiveram e vem tendo uma evolucao natural. Aplicacoes Swing requerem um maior numero de memoria RAM disponivel do que aplicacoes binarias normais, dependentes de plataforma, requerem.
Outro fato que pode influenciar uma maior lentidao eh a má-programacao. Isso mesmo, muita gente programa em Java ( mas isso vale para qualquer tencologia ) mas nao tem nem a minima ideia do que de fato esta fazendo, ou nao tem conhecimentos suficientes para achar uma solucao melhor - ou mais correta.
Aplicacoes graficas em Java podem rodar com um certo delay nas primeiras execucoes, mas conforme o programa vai sendo usado, a JVM vai “aprendendo” a otimizar, automaticamente, certas partes do programa. Eh o que chamados de HotSpot, onde, em tempo de execucao, o programa eh otimizado.
Se voce quiser total independencia de plataforma somado com um excelente conjunto de componentes disponiveis, utilize Swing.
SWT utiliza os componentes graficos especificos de cada plataforma, o que o faz rodar um pouco mais rapido. Porem, ha quem afirme que programas Swing bem programados conseguem ser tao - ou ate mais - rapidos que programs feitos em SWT. SWT ainda tem o “problema” de nao ser suportado em todas as plataformas - o unica considerado “totalmente pronto” eh a versao para Windows. A de Linux eh consideraca “praticamente pronta”, e as para MacOS estao em um nivel ainda menor de progresso.
Logicamente que com o tempo o SWT ira amadurecendo, porem Swing contem um set maior de componentes e portabilidade.
Rafael