É usual que algumas aplicações gráficas precisem criar janelas temporárias, seja para transmitir uma mensagem ou para obter alguma informação ou seleção.
Em AWT, a classe Dialog oferece esse tipo de funcionalidade. Uma janela de diálogo é subordinada à janela principal da aplicação; por exemplo, se a janela principal for minimizada, a janela de diálogo também o será. Um objeto dessa classe pode ser configurado para diálogo modal (a aplicação não responde enquanto o diálogo não for concluído) ou não-modal (a aplicação pode continuar a responder ao usuário mesmo com a janela de diálogo aberta).
Esse código ilustra a criação de uma janela de diálogo que tem apenas um botão, que deve ser pressionado para fechar a janela:
A classe equivalente à essa em Swing é JDialog; uma alternativa simples para janelas pop-up é oferecida pelos métodos da classe JOptionPane.
Uma especialização de Dialog oferecida em AWT é a classe FileDialog cria uma caixa de diálogo que permite ao usuário da aplicação selecionar um arquivo. Essa classe oferece métodos que permite obter, após a seleção do usuário, strings com o caminho e o nome do arquivo selecionado, permitindo então operar com esse arquivo através das operações de entrada e saída.
Esse exemplo ilustra a utilização da classe FileDialog; nesse caso, o diretório e o nome do arquivo selecionado são simplesmente ecoados para o console:
Em Swing, funcionalidade equivalente é oferecida por JFileChooser, que no entanto não é uma especialização de JDialog. Outro tipo de janela de diálogo pré-estabelecida em Swing é JColorChooser, que permite à aplicação selecionar uma cor interativamente.
Esse exemplo ilustra a funcionalidade oferecida por JColorChooser; nesse caso, a cor selecionada é ecoada para o console na forma de valores RGB (intensidade de vermelho, verde e azul):
© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP