build/ é gerado pelo ant jar e não deveria estar versionado —
muda a cada compilação e gera ruído sem relação com o código.
Adiciona .gitignore para evitar que volte.
- Login.commitEdit() no JSpinner para capturar porta digitada manualmente
- Main.java agora exibe o Login antes de criar o MainWindow
- MenuBar aplica os valores do Login no MainWindow via setUserName/setPort
- MainWindow: campos userName/port deixam de ser final; setPort() reconecta o socket
- Socket.java ganha close() para permitir reconexão limpa em nova porta