Buscar

ltp2_parte9

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
*
Swing
_____________________
As aplicações gráficas são aquelas que possibilitam a criação de uma GUI (Graphical User Interface – Interface Gráfica do Usuário).
Para desenvolver uma aplicação dotada de GUI é necessário definir quais componentes serão utilizados e qual posição que eles terão na janela.
O pacote swing possui inúmeras classes que são utilizadas na construção da GUI. Este pacote surgi com o Java 2 é uma extensão ao pacote AWT (Abstract Window Toolkit) que pode trabalhar junto ao swing.
*
*
*
Principais Pacotes - GUI
_____________________
import java.awt.*;  permite a utilização de diversas classes do pacote AWT, além de possuir uma série de constantes numéricas. 
import java.awt.event.*; usado para o processamento dos eventos que ocorrerão na janela, tais como: Click do Mouse, Enter do campo texto.
import javax.swing.*;  permite a utilização de diversas classes do pacote swing.
*
*
*
Criação de Frames
_____________________
Frame é o componente do pacote AWT responsável pela criação de janelas gráficas nos programas Java.
O componente Frame gera uma janela com barra de título, bordas e pode ter outros componentes.
O Frame pode reunir em uma só tela diversos outros tipo de objetos, que em conjunto gera uma visualização gráfica de um aplicativo.
Toda aplicação gráfica precisa utilizar as funcionalidades da classe JFrame, usando extends.
*
*
*
Exemplo de JFrame
_____________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela extends JFrame {
	public Tela () {
		setTitle ("Minha primeira Janela em Java");//definir um título da janela
		setSize (400,200);//Definir o tamanho da Janela
		setLocation(150,100);//Definir a localização da janela (X,Y)
		setResizable(false);//especifica se é ou não dimensionável.
		getContentPane().setBackground(Color.gray);//definir o pano de fundo.
	}
	public static void main(String args[]) {
		Tela janela = new Tela(); //instancia o objeto Jframe usando as
 configurações iniciais do método contrutor.
		janela. setVisible(true);//exibir o frame
	}
}
*
*
*
Componentes de Interface Gráfica -
Objetos de Texto
_____________________
Para a inclusão de texto nos frames, é necessária a utilização da classe JLabel.
É possível controlar várias propriedades do texto como: alinhamento, tipo de letra, tamanho, cor, etc.
Sintaxe do JLabel:
JLabel <nome do objeto label> = new JLabel (“<texto do label>”,JLabel.<alinhamento>)
*
*
*
Manipulação dos objetos
_____________________
Principais métodos utilizados:
getContentPane().setLayout(null); Layout dos objetos no frame
TipoObjeto.setBounds(X, Y, Z, W); Define a posição e o tamanho dos objetos no frame
Xcoordenada horizontal em pixels da tela.
Y coordenada vertical em pixels da tela. 
Zlargura em pixels do componente 
W altura em pixels do compontente.
*
*
*
Exemplo
_____________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela extends JFrame {
	private JLabel L1;
	public Tela () {
		setTitle ("Minha primeira Janela em Java");//definir um título da janela
		setSize (400,200);//Definir o tamanho da Janela
		setLocation(150,100);//Definir a localização da janela (X,Y)
		setResizable(false);//especifica se é ou não dimensionável.
		getContentPane().setBackground(Color.gray);//definir o pano de fundo.
		getContentPane().setLayout(null);
		L1 = new JLabel("Teste",JLabel.LEFT);
		L1.setBounds(50, 50, 50, 50);
		getContentPane().add(L1);
	}
	public static void main(String args[]) {
		Tela janela = new Tela(); //instancia o objeto Jframe usando as
 //configurações iniciais do método contrutor.
		janela. setVisible(true);//exibir o frame
	}
}
*
*
*
Imagens no Frame
_____________________
Para incluir imagens no Frame, pode ser usada a classe ImageIcon
Sintaxe do ImageIcon:
ImageIcon <nome do objeto ícone> = new ImageIcon(“Caminho e nome da imagem a ser inserida”).
OBS: O caminho da localização de arquivos é definido pela barra normal (/).
*
*
*
Exemplo
_____________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela extends JFrame {
	private ImageIcon icone;
	private JLabel L1;
	public Tela () {
		setTitle ("Minha primeira Janela em Java");//definir um título da janela
		setSize (400,200);//Definir o tamanho da Janela
		setLocation(150,100);//Definir a localização da janela (X,Y)
		setResizable(false);//especifica se é ou não dimensionável.
		getContentPane().setBackground(Color.gray);//definir o pano de fundo.
		getContentPane().setLayout(null);
		icone = new ImageIcon ("C:/Documents and Settings/All Users/Documentos/Minhas imagens/Amostras de imagens/Inverno.jpg");
		L1 = new JLabel(icone);
		L1.setBounds(150, 50, 80, 100);
		getContentPane().add(L1);
	}
	public static void main(String args[]) {
		Tela janela = new Tela(); //instancia o objeto Jframe usando as
 //configurações iniciais do método contrutor.
		janela. setVisible(true);//exibir o frame
	}
}
*
*
*
Inclusão de Caixas de Texto
_____________________
Para inclusão de caixas de texto nos frames, é utilizada a classe JTextField.
Propriedades do JTextField:
JTextField(String)Cria uma caixa de texto vazia.
JTextField(String)Cria uma caixa de texto com a string dada.
JTextField(String,int)Cria uma caixa de texto com a string e a quantidade de colunas especificadas.
getText()obtém o texto do objeto.
setText(String)Especifica o texto a ser contido no componente.
*
*
*
Exemplo
_____________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela extends JFrame {
	private ImageIcon icone;
	private JLabel L1;
	private JTextField T1;
	public Tela () {
		setTitle ("Minha primeira Janela em Java");//definir um título da janela
		setSize (400,200);//Definir o tamanho da Janela
		setLocation(150,100);//Definir a localização da janela (X,Y)
		setResizable(false);//especifica se é ou não dimensionável.
		getContentPane().setBackground(Color.gray);//definir o pano de fundo.
		getContentPane().setLayout(null);
		L1 = new JLabel();
		L1.setText("Nome: ");
		L1.setFont(new Font("Arial",Font.BOLD,14));
		L1.setBounds(85,71,60,20);
		getContentPane().add(L1);
		T1 = new JTextField();
		T1.setBounds(131,73,60,20);
		getContentPane().add(T1);
	}
	public static void main(String args[]) {
		JFrame janela = new Tela(); //instancia o objeto Jframe usando as
 //configurações iniciais do método contrutor.
		janela. setVisible(true);//exibir o frame
	}
}
*
*
*
Botões no Frame
_____________________
Para inclusão de botões nos Frames, utilizada a classe JButton.
Sintaxe:
Button()Cria um botão sem texto.
Button(String)Cria um botão com o texto dado.
setText(String)Especifica o texto do botão.
setEnabled(boolean)Define se o botão está habilitado(true) ou desabilitado(false).
*
*
*
Exemplo
_____________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela2 extends JFrame {
	private JButton B1;
	public Tela2 () {
	 setTitle ("Minha primeira Janela em Java");//definir um título da janela
	 setSize (400,200);//Definir o tamanho da Janela
	 setLocation(150,100);//Definir a localização da janela (X,Y)
	 setResizable(false);//especifica se é ou não dimensionável.
	 getContentPane().setBackground(Color.gray);//definir o pano de fundo.
	 getContentPane().setLayout(null);
	 B1 = new JButton();
	 B1.setLabel("OK");
	 B1.setToolTipText("Clique aqui");	
	 B1.setEnabled(true);
	 B1.setBounds(131,73,60,25);
	 getContentPane().add(B1);
	}
	public static void main(String args[]) {
		Tela2 janela = new Tela2(); //instancia o objeto Jframe usando as
//configurações iniciais do método contrutor.
		janela. setVisible(true);//exibir o frame
	}
}
*
*
*
Inclusão de Capturas de Eventos no 
Frame
_____________________
Nas aplicações que ocorra interações do usuário com a Janela (Ex: clique no botão) é necessária a implementação de uma interface (implements ActionListener).
Quando uma aplicação de interface é utilizada, torna-se obrigatória inserir na aplicação um método que irá realizar o processamento de eventos gerados apartir da interação do usuário, este método será o actionPerformed.
Os botões precisam ser registrados para que os eventos gerados por ele sejam reconhecidos no Frame, para registrar os objetos utiliza-se o método addActionListener(this).
O método que recebe todas as ações disparadas na janela é declarada como public void actionPerformed(ActionEvent e), o “e” é declarada como um objeto da classe ActionEvent e receberá todos os chamados aos eventos da janela.
O ActionEvent será o responsável por definir qual objeto gerou esse evento. Para verificar qual objeto gerou o evento utiliza-se getSource().
*
*
*
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tela2 extends JFrame implements ActionListener{
	private JButton B1;
	private JTextField T1;
	public Tela2 () {
	 setTitle ("Minha primeira Janela em Java");//definir um título da janela
	 setSize (400,200);//Definir o tamanho da Janela
	 setLocation(150,100);//Definir a localização da janela (X,Y)
	 setResizable(false);//especifica se é ou não dimensionável.
	 getContentPane().setBackground(Color.gray);//definir o pano de fundo.
	 getContentPane().setLayout(null);
	 T1 = new JTextField();
	 T1.setBounds(131,73,80,25);
	 getContentPane().add(T1);
	 B1 = new JButton();
	 B1.setLabel("OK");
	 B1.setToolTipText("Clique aqui");
	 B1.setEnabled(true);
	 B1.setBounds(131,103,60,25);
	 getContentPane().add(B1);
	 B1.addActionListener(this);
	}
	public void actionPerformed (ActionEvent e) {
	 if (e.getSource() == B1){
	 T1.setText("Ok!!");
	 }
	}
	public static void main(String args[]) {
	 Tela2 janela = new Tela2(); 
	 janela.setVisible(true);//exibir o frame
	}
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais