Janela (informática)
Em informática, uma janela é uma área visual contendo algum tipo de interface do utilizador, permitindo a saída do sistema ou permitindo a entrada de dados. Uma interface gráfica do utilizador que use janelas como uma de suas principais metáforas é chamada sistema de janelas, como um gerenciador de janela.
O começo das pesquisas com janelas estão no Instituto de Pesquisa de Stanford, com Douglas Engelbart e sua invenção, o rato (mouse). Em 1964, o primeiro protótipo do rato foi usado em uma inteface gráfica do utilizador que continha uma janela. Posteriormente, a pesquisa das janelas foi continuada no Xerox Palo Alto Research Center (PARC) sob liderança do cientista da computação Alan Kay. Introduzido no mercado em 1984, o Macintosh representou o primeiro uso comercial de janelas. Além de janelas, o sistema gráfico desse computador também apresentava ícones, menus em cascata e um rato. Ele foi resultado de uma visita Steve Jobs (co-fundador da Apple Inc.) ao PARC, que viu naquelas pesquisas de interfaces gráficas com janela um potencial comercial. Originalmente trabalhando junto com a PARC da Xerox, a Apple eventualmente rompeu e desenvolveu pesquisas por conta própria para o Apple Lisa, lançado em 1983.
Dependendo do gerenciador de janela em uso, as janelas possuem um certo conjunto de propriedades. Uma das propriedades mais comuns é a posição. Uma janela pode ser movida horizontalmente e verticalmente pela área de trabalho. Para mover uma janela, geralmente se clica, arrasta e larga sua barra de título (ver seção "Estrutura" abaixo). Utilizando-se uma determinada tecla de atalho também se pode mover a janela através das setas direcionais do teclado. Outra propriedade é o tamanho, que pode ser redimensionado horizontalmente, verticalmente ou para ambos. Para redimensionar uma janela, geralmente se clica, arrasta e larga as bordas. Uma janela que ocupa todo o espaço disponibilizado pela área de trabalho encontra-se maximizada, e não pode ser movida. A visibilidade é outra propriedade de janelas. Uma janela minimizada está oculta (invisível), e geralmente está acessível somente através duma ligação na barra de tarefas. O restauro da janela após minimização a torna novamente visível ao utilizador. Uma janela invisível não se encontra fechada: suas informações ainda residem no sistema a fim de serem usadas caso a janela seja restaurada.
Gerenciadores de janelas podem oferecer diferentes tipos de janelas, de acordo com suas propriedades.
Janela de aplicação/documento
Uma janela de aplicação/documento é o tipo mais comum, contendo documentos ou dados de aplicações. É o tipo mais flexível, podendo ser redimensionado, escondido ou restaurado. Cada programa de computador define a estrutura das janelas que o compõem, os widgets que serão inseridos em seu conteúdo. Entretanto, para janelas de aplicação/documento um esquema muito utilizado está representado na figura ao lado. Na parte superior da janela encontra-se a barra de título, que, além de informar o nome do programa, fornece acesso às propriedades da janela, como minimização, maximização, redimensionamento, moção, etc.. Logo abaixo está localizada a barra de menu, com listas em cascata de ações da aplicação. Abaixo da barra de menu pode haver uma barra de ferramentas, com botões de acesso rápido às ações da aplicação. Em uma interface de documento tabulada, abaixo da barra de menu ou da barra de ferramentas (se houver) geralmente estão localizadas as tabulações.
Janela de utilidade
Uma janela de utilidade está localizada acima das outras, fornecendo ferramentas e informações sobre a aplicação. São geralmente pequenas para evitar a sobreposição de outras janelas. Uma aplicação comum são os widgets da área de trabalho.
Caixa de diálogo
Uma caixa de diálogo (ou caixa de mensagem) é uma janela usada para apresentar uma informação ao utilizador ou para obter dados. É chamada dessa forma pois forma um diálogo entre o computador e o utilizador. Quando o teor do diálogo é crítico ao sistema, a janela é modal. Esse tipo de janela é geralmente mais simples, menos flexível. Por exemplo, raramente uma caixa de diálogo pode ser redimensionada, o que inclui também maximização e minimização. Boas práticas de desenvolvimento de interfaces gráficas indicam que uma caixa de diálogo deve ser usada somente quando a atenção imediata do utilizador é necessária. O tipo mais simples é o alerta, que apresenta uma mensagem e requer somente a indicação que o utilizador leu a mensagem (ao clicar um botão "OK", por exemplo). É usada para prover confirmação de uma ação, ou para noticiar o término de um programa. Outro tipo comum é a pergunta seguida de opções de resposta, como sim ou não, para pedir a confirmação de uma ação.
Um programa de computador assume a forma de uma janela para facilitar a assimilação pelo utilizador. Entretanto, um programa de computador pode ser apresentado em mais de uma janela, ou até mesmo sem uma respectiva janela. Para programas compostos por mais de uma janela, há diversas formas de organizar as janelas a fim de otimizar a interação do utilizador. Uma opção é o método da interface de documento único (SDI), em que uma aplicação carrega diversas janelas distintas, de forma que o gerenciamento é feito pelo gerenciador de janela. Não há hierarquia de janelas, isto é, uma janela não contém outra. Como são as janelas são independentes, elas geralmente não podem compartilhar recursos em comum como uma barra de menu ou uma barra de ferramentas única para todos os documentos abertos. Outro método de organização é a interface de documentos múltiplos (MDI), em que, diferente da interface de documento único, há hierarquia de janelas. Nesse método, existe uma janela da aplicação em que todas as outras janelas residem (exceto por janelas modais). Para o gerenciador de janela há somente uma janela aberta pela aplicação. Por conta da hierarquia, a janela principal pode fornecer recursos compartilháveis entre as janelas filhas, como uma barra de ferramentas.


