Iniciar programa compactado (.jar)

Primeiro de tudo bom dia.
Bem, eu estou criando, ou pelo menos tentando, criar um programa simples em Java.
Estou utilizando um estrutura MVC básica

DAO
Factory
GUI
Models

Bem, minha dúvida é a seguinta, quando vou compactar, ou seja, criar o .jar, o Eclipse me pede a classe Main.
Como eu faria para criar uma classe main que chama-se minha tela principal, como por exemplo, a tela principal que fica
dentro da camada GUI (GUI/main).

Porém, se este modo está errado, por favor, me instruam para o caminho da luz…

Vc deve indicar a classe que possui o

public static void main(String[] args)(){}

é classe que vai roda sua aplicação.

por exemplo: se sua classe TelaPrincipal tem o public void main é ela que vc deve indicar.

Bom dia.
Sim, mas eu posso inicar uma diretamente na camada GUI ou tenho quer criar um na raiz da aplicação?

Isso em Java Swing? Se você consegue rodar sua aplicação pelo Eclipse, ela já deveria ter uma classe principal. Em todo caso, o visual geral de uma classe “principal” para uma aplicação Swing é algo mais ou menos assim:

[code]import javax.swing.SwingUtilities;

public class Example extends JFrame {

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            ClasseSwingPrincipal ex = new ClasseSwingPrincipal();
            ex.setVisible(true);
        }
    });
}

}[/code]
Fonte: http://zetcode.com/tutorials/javaswingtutorial/firstprograms/

Note que você precisa substituir a classe chamada ClasseSwingPrincipal pela classe correspondente á tela principal do seu sistema que, pelo que você disse, está dentro do pacote GUI.

Abraço.

Outra dúvida.
Existe o Swing, que é o que estou usando. Porém, há outros Frameworks (Não sei exatamente se o Swing é um Framework) com o mesmo intuito que ele?

Há outras bibliotecas, porém a maioria tem como base a classe swing.

http://www.jgoodies.com/

jgoodies é um bom exemplo de biblioteca com muito recursos.

luizpicolo
Além das bibliotecas baseadas no Swing (como o citado jgoodies e o SwingX), há outras opções independentes dele, como o javafx 2 (bastante evoluído, e deve substituir o Swing como padrão), o SWT (usado para construir o Eclipse), Apache Pivot e Qt Jambi (wrapper para o Qt), dentre outros. Uma pequena visão deles: http://stackoverflow.com/questions/7358775/java-gui-frameworks-what-to-choose-swing-swt-awt-swingx-jgoodies-javafx.

Abraço.

Cara, eu tentei usar o JGoodie, mas alguém tem um tutorial legal ai, ou poderia explicar, como utilizar?

A bola da vez para fazer interfaces em Java é o JavaFX.