Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Java – interface gráfica Linguagem de Programação Visual Prof. Thiago Meirelles Ventura UFMT – IC – 2013/2 Agenda Fundamentos Biblioteca Swing Netbeans Componentes Swing Layout Eventos Fundamentos Interface gráfica é composta por: Componentes Containers Layout Eventos Fundamentos AWT – Abstract Window Toolkit conjunto de ferramentas para interfaces gráficas no Java infraestrutura mínima para a interface gráfica Fundamentos AWT – Abstract Window Toolkit conjunto de ferramentas para interfaces gráficas no Java infraestrutura mínima para a interface gráfica Swing conjunto mais rico de componentes para interface gráfica não é um substituto do AWT Fundamentos Fundamentos Classe java.awt.Component Existe um Component por trás de tudo que pode ser renderizado na tela Alguns métodos: paint(java.awt.Graphics g) repaint() update(java.awt.Graphics g) setSize(int, int) setLocation(int x, int y) setEnable(boolean enabled) Biblioteca Swing Classe javax.swing.JComponent Fornece recurso de alto nível a todos os componentes swing. Alguns recursos básicos: Configurar tamanho preferencial Suporte a acessibilidade e internacionalização Tooltips Bordas Biblioteca Swing Netbeans Netbeans Abrir Netbeans Conhecer a IDE Iniciar um novo projeto Componentes Swing Janela Pode ser movimentada independente de qualquer outra janela javax.swing.JFrame Componentes Swing Janela Pode ser movimentada independente de qualquer outra janela javax.swing.JFrame import javax.swing.JFrame; [...] JFrame janela = new JFrame("Primeira janela"); janela.setSize(300, 200); janela.setVisible(true); Componentes Swing JPanel JLabel JTextField JPasswordField JButton JCheckBox JRadioButton JComboBox JList JToolTip Layout Organizam os componentes da interface. Podem posicionar automaticamente os componentes, se adaptando ao tamanho dos containers. Gerenciador de Layout política de layout tamanho preferencial Layout Gerenciador de Layout FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout ... Layout Gerenciador de Layout FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout ... Layout Gerenciador de Layout FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout ... Layout Gerenciador de Layout FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout ... Layout Gerenciador de Layout FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout ... Layout Gerenciador de Layout Definindo um layout import java.awt.FlowLayout; [...] container.setLayout(new FlowLayout()); Layout Gerenciador de Layout Definindo um layout import java.awt.FlowLayout; [...] FlowLayout layout = new FlowLayout(); layout.setAlignment( FlowLayout.RIGHT ); container.setLayout( layout ); Eventos Modo para responder às ações que ocorrem na interface. movimento do mouse, pressionar botões, entrada de dados em uma caixa de texto, ... Tratamento de eventos Para cada evento, existe um listener. Evento Listener ItemEvent ItemListener TextEvent TextListener WindowEvent WindowListener KeyEvent KeyListener ...Event ...Listener Eventos Tratamento de eventos I N T E R F A C E eventos Eventos Tratamento de eventos I N T E R F A C E Receptor addActionListener(actionListener); eventos Eventos Tratamento de eventos I N T E R F A C E Receptor addKeyListener(keyListener); Receptor eventos Eventos Tratamento de eventos I N T E R F A C E Receptor Receptor Receptor addTextListener(textListener); eventos Eventos Tratamento de eventos I N T E R F A C E Receptor eventos Receptor removeTextListener(textListener); Eventos Tratamento de eventos O que deve ser feito: Registrar um listener para cada evento que se deseja tratar. Implementar os métodos que manipulam o evento. Eventos Alguns eventos ActionEvent Componentes de ação, como Jbutton e o JTextField MouseEvent Componentes afetados pelo mouse ItemEvent Componentes de seleção, como o JCheckBox e JRadionButton TextEvent Componentes de texto WindowEvent Janelas KeyEvent Componentes afetados pelo teclado Exercício Crie uma janela com os seguintes componentes: O texto informado na caixa de texto superior deve ser inserido em uma das caixas de textos numeradas (1 ou 2). Se a caixa de seleção estiver selecionada, o texto irá para 1. Caso contrário, o texto irá para 2.
Compartilhar