Ponto de entrada da aplicação
De um modo geral, o ponto de entrada da aplicação é responsável pela criação do menu principal da aplicação e por abrir este menu. No processo de criação do menu pode ser necessário indicar uma ou mais entidades do domínio da aplicação. Na aplicação exemplo, a classe App representa o ponto de entrada da aplicação. Esta classe é responsável por criar a instância da camada de domínio que que vai manter a série de inteiros inseridos pelo utilizador (uma instância de Sequence) e o menu principal. De seguida deve abrir o menu. A classe App terá então a seguinte concretização:
package ex.app;
import static pt.tecnico.uilib.Dialog.UI;
import ex.core.Sequence;
import ex.app.main.MainMenu;
public class App {
public static void main (String[] args) {
try (var ui = UI) {
Sequence myObject = new Sequence(); // Create main core entity
MainMenu mainMenu = new MainMenu(myObject); // Create main menu with Entity
mainMenu.open(); // Open the menu
}
}
}
Antes de terminar a aplicação é necessário invocar o método close sobre a referência guardada no atributo estático UI de Dialog por forma a indicar que a interacção com o utilizador a realizar pela aplicação através da framework po-uilib terminou e portanto todos os recursos utilizados pela framework para suportar a interacção podem ser libertados e a aplicação pode realmente terminar (quando o quiser fazer). A não invocação deste método no fim da aplicação pode significar que a aplicação não termine (depende do tipo de interface gráfica fornecida pela framework que tenha sido escolhido na execução da aplicação). No exemplo indicado, a invocação deste método é realizada de forma automática quando se sai do bloco try.