Page 1
API A API renderiza/desenha por conta própria todos os componentes visuais, ao invés de delegar essa tarefa ao sistema operacional, como a maioria das outras APIs de interface gráfica trabalham. É isso que torna o independente de plataforma. Os componentes do swing, encontram-se sob o pacote javax.swing.
e AWT Além do, existe no Java um outro conjunto de componentes GUI: O Abstract Window Toolkit (AWT). Com AWT, os componentes GUI são exibidos diferentemente em cada plataforma. Além da aparência, a maneira como o usuário pode interagir com esses componentes também difere entre as plataformas. Os componentes podem especificar aparência e comportamento uniforme para o aplicativo em todas as plataformas, ou utilizar a aparência e comportamento padrão de cada plataforma.
Superclasses dos Componentes Fonte: Deitel Java Como Programar 6a edição pág. 377
Componentes Page 5
Janelas JFrame Classe utilizada para criar janelas. Normalmente a janela principal de uma aplicação de interface gráfica é uma instância da classe JFrame. JDesktopPane Classe utilizada em aplicações MDI (Multiple Document Interfaces). Em aplicações MDI, existe uma janela desktop que contém todas as demais janelas da aplicação. JInternalFrame A classe JInternalFrame é utilizada para criar janelas que ficam confinadas dentro de outra janela da aplicação. A diferença entre as janelas criadas com a classe JFrame e JInternalFrame, é que estas são forçadas a permanecer dentro do JDesktopPane.
Campos de Texto JTextField Utilizada para criar campos de texto de uma única linha. JTextArea Utilizada para criar campos de texto de múltiplas linhas, possibilitando ainda a inclusão de barras de rolagem (vertical e/ou horizontal).
Listas de Seleção JRadioButton Cria listas de seleção única, do tipo radio. JCheckBox Cria listas de seleção múltipla, do tipo checkbox. JComboBox Utilizada para criar caixas de combinação (combobox). Pode permitir seleção única de ítens ou múltipla seleção.
Componentes de Seleção JColorChooser Utilizada para criar caixas de seleção de cor. JFileChooser Utilizada para criar caixas de seleção de arquivos e diretórios.
Tabelas JTable Utilizada para criar tabelas de dados (grids). Possui métodos para inclusão e remoção de linhas e colunas, e métodos para alteração dos dados. Pode ser implementada utilizando o padrão MVC (Modelo-Visão-Controle).
Gerenciamento de Layout Page 11
FlowLayout FlowLayout é o gerenciador mais simples. Com ele, os componentes de interface gráfica são colocados da esquerda para a direita, na ordem de inclusão. Quando a área horizontal do contêiner for ocupada, os próximos componentes passam a ser apresentados na próxima linha.
BorderLayout O BorderLayout é o gerenciador de layout padrão de um JFrame. Este gerenciador organiza os componentes em cinco regiões da tela (NORTH, SOUTH, EAST, WEST e CENTER). O BorderLayout limita um contêiner a conter no máximo cinco componentes. Sendo que os componentes colocados em cada região podem ser contêineres para outros componentes.
GridLayout O GridLayout divide a tela em uma grade, de modo que os componentes podem ser posicionados sobre linhas e colunas desta grade. Cada componente em um GridLayout tem a mesma largura e altura.
Tratamento de Eventos Page 15
Tratamento de Eventos em Java Sempre que o usuário realiza alguma atividade de interação com a interface gráfica de um programa, um evento é criado pelo sistema operacional. Se uma aplicação precisa capturar um evento específico, ela precisa registrar algum listener para ser notificado sempre que eventos deste tipo ocorrerem. Listeners são classes capazes de ouvir os eventos gerados pela aplicação e dar um tratamento a eles. Cada listener é implementado em uma classe específica.
Registro de Listeners Implementar o listener não é o suficiente para que os eventos de um componentes sejam escutados. Precisamos também registrar o listener. botao.addactionlistener(objetolistener); Um componente pode ter diversos listeners. Um listener pode responder para múltiplos componentes (sources).
Exemplos de interfaces Listener ActionListener actionperformed(actionevent e) executado quando o botão é clicado KeyListener keypressed(keyevent e) a tecla é pressionada keyreleased(keyevent e) a tecla é soltada keytyped(keyevent e) a tecla é digitada MouseListener mouseclicked(mouseevent e) um botão do mouse é clickado mousepressed(mouseevent e) um botão do mouse é pressionado mousereleased(mouseevent e) um botão do mouse é liberado mouseentered(mouseevent e) a seta do mouse entra em um componente mouseexited(mouseevent e) a seta do mouse sai de um componente WindowListener windowclosed(windowevent e) a janela é fechada windowopened(windowevent e) a janela se torna visível
Exemplos de Eventos ActionEvent getactioncommand() : String retorna o rótulo do botão que foi clicado getsource() : Object retorna uma referência para o objeto que causou o evento o botão KeyEvent getkeychar() : char - MouseListener getbutton() : int retorna um código que indica qual botão do mouse foi clicado getx() : int - retorna a coordenada x do clique do mouse sobre a tela gety() : int - retorna a coordenada y do clique do mouse sobre a tela WindowListener getnewstate() : int retorna um código que indica qual é o novo estado da janela getoldstate() : int retorna um código que indica qual é o estado anterior da janela