Anda di halaman 1dari 16

Introduo ao java (interface grfica)

AWT Abstract window toolkit. Pertence ao java, foi substituda pela classe swing da
biblioteca JFC(Java Foundation Class), portanto uma extenso da AWT
Ex: Objeto Button
AWT SWING

Button J Button

As aplicaes grficas so aquelas que possibilitam a criao de uma GUI(Graphical
user interface) ou interface grfica do usurio. Ao desenvolver uma aplicao grfica,
necessrio definir quais componentes(objetos) sero utilizados e a disposio que eles
tero na janela. O SWING possui inmeras classes que podem ser utilizadas na
construo da GUI.
Componentes grficos
JFrame: Permite criar uma janela com a especificao do tamanho ideal para receber
outros componentes.
Ex: Public class Janela extends JFrame{

Herana Objeto Frame
}
SetTitle(). Define o ttulo da janela.
Ex: SetTitle(Consulta de Dados);
SetBounds(Largura,Atura,PosioX,PosioY): Define a largura e a altura da janela e
sua posio na tela.
Top
Left
Largura Altura

Ex: SetBounds(500,270,350,180);
SetResizable(): Permite definir se a janela deve ter borda fixa ou no, evitando
redimensiona-la quando estiver sendo executada.
False: Fixa.
True: Mvel.
getConvertPane(): Permite adicionar outros componentes na janela criada.
Ex: gotContentPane().setBackGround(new Color(150,180,180));
Define uma cor de fundo para a janela.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JRootPane;

public class Tela extends JFrame{

private static final long serialVersionUID = 1L;

public Tela(){

setTitle("Tela Visual em Java");
setBounds(0, 0, 400,300);
getContentPane().setBackground(new Color(150,150,100));
}

public static void main(String[] args) {
Tela janela=new Tela();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
janela.setLocation((tela.width-janela.getSize().width)/2, (tela.height-
janela.getSize().height)/2);
janela.setUndecorated(true);
janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setVisible(true);

}

}






JLabel: Permite definir um texto que pode ser adicionado a um outro
componente(JFrame,Painel, ETC)
JLabel() - cria um label vazio
JLabel(string) cria um label com o texto definido
JLabel(string,int) cria um label com o texto e o alinhamento definido
JLabel(string, image) cria um label com texto e imagem
getText() obtm o texto do label
setText() especifica o texto de um label.
Exemplo JLabel:
JLabel Nome= New JLabel(Nome, JLabel.Right);
Cria o rtulo nome com alinhamento direita.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRootPane;

public class Tela_1 extends JFrame{

JLabel l1;
private static final long serialVersionUID = 1L;

public Tela_1(){

setTitle("Tela Visual em Java - JLabel");
setBounds(0, 0, 400,300);
getContentPane().setBackground(new Color(150,150,100));

l1=new JLabel("Programao em Java",JLabel.CENTER);
l1.setFont(new Font("Arial", Font.BOLD,12));
l1.setBounds(0,0,130,50);

getContentPane().setLayout(null);
getContentPane().add(l1);

}


public static void main(String[] args) {
Tela_1 janela=new Tela_1();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
janela.setLocation((tela.width-janela.getSize().width)/2,
(tela.height-janela.getSize().height)/2);
janela.setUndecorated(true);

janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setVisible(true);

}

}


JTextFiel(): Permite criar uma caixa de texto grfica em que o usutio pode digitar os
dados.
JTextField() Cria uma caixa de texto vazia.
JTextField(string) Cria uma caixa de texto com uma string padro
getText() obtm o texto do objeto.
setText() especifica o texto contido no componente


Exemplo JTextField
JTextField TFNome = new JText Filed(35);
Cria o objeto texto com 35 caracteres em branco.


package Aplicaes_Visuais;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRootPane;
import javax.swing.JTextField;

@SuppressWarnings("serial")
public class Verificar_Numeros_01 extends JFrame{

ClassVerifica_01 dados = new ClassVerifica_01();

JLabel L1,L2;
static JTextField T1;
JButton B1,B2,B3;


public Verificar_Numeros_01(){

setTitle("Verifica nmeros");
setBounds(0, 0, 400,190);
getContentPane().setBackground(new Color(150,150,100));
getContentPane().setLayout(null);

L1= new JLabel("Informe um nmero");
L1.setBounds(30,40,150,10);

L2=new JLabel();
L2.setBorder(BorderFactory.createLineBorder(Color.black));
L2.setBounds(25, 86, 340, 50);

T1=new JTextField(5);
T1.setBounds(150, 35, 100, 20);

B1=new JButton("Verificar");
B1.setBounds(35,95, 90, 30);

B2=new JButton("Cancelar");
B2.setBounds(150,95, 90, 30);

B3=new JButton("Sair");
B3.setBounds(265, 95,90, 30);

getContentPane().add(L1);
getContentPane().add(T1);
getContentPane().add(B1);
getContentPane().add(B2);
getContentPane().add(B3);
getContentPane().add(L2);

B1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
dados.Verificar();
}
});

B2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
dados.Limpar();
}
});

B3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
dados.Saida();
}
});

}

public static void main(String[] args) {
Verificar_Numeros_01 janela=new Verificar_Numeros_01();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
janela.setLocation((tela.width-janela.getSize().width)/2,
(tela.height-janela.getSize().height)/2);
janela.setUndecorated(true);

janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setVisible(true);

}
}

JButton(): Permite criar botes grficos a serem adicionados em outros componentes
grficos como (JFrame e JPanel)
JButton() cria um boto sem texto
JButton(string) cria um boto com texto definido
JButton(string,image) cria um boto com texto e uma imagem
SetEnabled(boolean) define se o boto est habilitado (true) ou desabilitado (false)
SetMnemonic(char) define uma letra que ser usada em conjunto com a tecla ALT
setToolTipText (string) especfica texto ou mensagem quando o ponteiro do mouse
estiver sobre o objeto para o usurio.
setHorizontalTextPosition() Define o tipo de alinhamento horizontal do texto em
relao a uma imagem. Os valores permitidos so Left(esquerda) e Right(direita)
setVerticalTextPosition() define o alinhamento vertical do texto em relao a
imagem os valores permitidos so: TOP(acima) e bottom(abaixo)
Ex: JButton btnSair = new JButton(sair);
btnSair.setBounds(230,80,90,30);
btnSair.setMnemonic(keyEvent.VK_S);
btnSair.setToolTipText(Sair do Programa);

Mtodo .Show*:
Tela_01 Menu = new Tela_01();
Menu.setVisible(true);

Classes receptoras de Evento
Quando uma janela precisa gerar certo evento, necessrio implementar uma
interface, que nada mais do que uma classe receptora de eventos, Cada objeto ou
classe pode implementar quanto eventos receptores forem necessrio um Boto, po
exemplo, pode reconhecer quando o mouse clicado, quando solto, quando entra
na rea do boto, quando sai da rea do boto e assim por diante.
Cada classe receptora de eventos trata um evento diferente.
Evento Descrio
ActionListener Eventos de aes com clique do mouse
AdjustmentListener Evento de ajuste gerados por um
componente, por exemplo, valor da barra
de rolagem
DocumentListener Evento para receber notificaes quando
ocorre alguma mudana no documento
FocusListener Eventos de foco, quando um objeto perde
ou recebe o foco, por exemplo uma caixa
de texto
ItemListener Eventos gerados quando o item da lista
selecionado mudado, por exemplo list
ou combo
KeyListener Refere-se a eventos de teclado, que
ocorre quando a tecla pressionada
MouseListener Refere-se a eventos de mouse, quando
clicado, quando entra ou sai da rea do
componente
MouseMotionListener Refere-se a evento de mouse, gerados
pela movimentao dele sobre um
componente
WindowListener Refere-se a eventos de janela, quando
fechada, maximizada ou minimizada

Mtodos para manipulao de Eventos
Para associar um evento a um objeto qualquer necessrio utilizar um mtodo
Mtodo Componentes que podem usa-los
addActionListener() JButton, Jcheckbox, JCombobox,
JTextField, e JRadioButton
addItemListener() Jbutton, JCheckBox, JcomboBox,
JRadioButton
addDocumentListener() JTextField, JTextArea
addFocusListener Todos os componentes do swing
addAdjustmentListener JScrollBar
addMouseListene() Todos os componentes do swing
addMouseMotionListener() Todos os componentes do swing
addKeyListening() Todos os componentes do swing
addWindowListener() JWindow e JFrame

Toda vez que uma classe implementa as interfaces receptoras de evento, torna-se
necessrio declarar os mtodos que realizaro o controle dos eventos. Da mesma
forma que a classe ActionListener exige a declarao do actionPerforme(), cada
interface exige a declarao de seus mtodos das interfaces e dos metoros que devem
ser declarados quando forem implementados a uma classe.
Interface/Evento Mtodos a ser declarados Disparados quando
ActionListener
Action Event
ActionPerformed O mouse ocultado, ou
quando a tecla Enter
pressionada.
AdjustmentListener
AdjustmentEvent
AdjustmentValueChanged O valor do componente
alterado.
FocusListener
FocusEvent
FocusGained

FocusLost
Um Componente recebe o
foco.
Um componente perde o
foco.
KeyListener
KeyEvent
KeyPressed

KeyReleased

KeyTyped

Uma tecla , pressionada
sobre o componente.
A tecla solta sobre o
componente.
A tecla possui um cdigo
relacionado.
MouseListener
MouseEvent
MousePressed


MouseCkicked


MouseEnteded


MouseExited
MouseReleased
O boto do mouse
pressionado sobre um
componente.
O boto do mouse
pressionado e solto sobre
um componente.
O ponteiro do mouse entra
na rea se um
componente.
O ponteiro do mouse sai
da rea de um
componente.
O mouse solto sobre um
componente.
WindowListener
WindowEvent
WindowClosing
WindowClosed

WindowActivated
WindowDesactivated
WindowConified
WindowDesconified
WindowOpened
A janela fechada.
Aps a janela ter sido
fechada.
A janela ativada.
A janela desativada.
A Janela minimizada.
A janela restaurada.
A Janela aberta.


Incluso de Menus
H dois tipos de criao de menu no JAVA. O primeiro e o menu localizado no todo da
janela e o segundo como um menu popup que aparece quando o usurio clica com o
boto direito do mouse.
Barra de menu
Antes de criar o menu, necessrio criar uma barra de menu que contenha o conjunto
de menus que aparece na parte superior da janela. Essa barra e criada com a seguinte
sintaxe:
JMenuBar <nomedabarra>= new JMenuBar();
Para definir essa barra de menus como um menu padro da janela usado o mtodo
setJMenuBar
setJMenuBar(<nomedabarra>);
com essas duas linhas de comando j possvel criar e definir a barra de menus,
entretanto necessrio criar tambm os menus que aparecero na barra, pois apenas
com as declaraes realizadas a janela (frame) conteria uma barra de menus vazia.
Para criar os menus, utiliza-se a classe JMenu.
Sintaxe:
JMenu <nome do menu> = new JMenu();
Para que o menu criado seja adicionado barra de menus, deve-se utilizar o mtodo
add:
<nomedabarra>.add(<nomedomenu>);
Com isso o menu inserido na barra. Depois de criado o menu, os itens abaixo do
menu(opes) devem ser adicionados. Para criar os itens de menus faa:
Sintaxe:
JMenuItem <nomedoitem> = new JMenuItem();
Para adicionar o item de menu faa:
<nomedomenu>.add(<nomedoitem>);
Ex:

JList Lista de Seleo
As Listas de seleo so objetivos que possibilitam a escolha de um ou vrios valores
armazenados em uma lista de opes. Esta lista manipulada a partir da classe JList.
Para melhor utilizao e desempenho das listas, tornam-se necessrios alguns
procedimentos.
1. Declarar um objetivo para instanciar a classe JList.
2. Declarar o objeto que conter a lista das opes e adicionar a ele todas as
opes.
3. Inicializar o objeto do item 1 com o item 2
4. Criar um painel de Rolagem.
5. Adicionar o objeto do item 1 ao painel de rolagem.

Mtodos da classe JList
JList() -> Criar uma caixa de Seleo
getSelectedvalue() -> Obtm o texto do item selecionado.
getSelectedindex() -> Obtm o ndice do item selecionado.
setSelectedindex(int) -> Seleciona um item especificado
setSelectinterval(int,int) -> Seleciona diversos ndices dentro do intervalo especificado
isSelectionEmpty() -> Verifica se existe algum item selecionado na lista e retorna
(Verdadeiro ou Falso)
isSelectedindex(int) -> Verifica se o ndice est selecionado e retorna (Verdadeiro ou
Falso)
Ex:
JComboBox
O componente JComboBox funciona praticamente da mesma forma que o JList mas
com duas diferenas:
1. A lista fica embutida e necessrio clicar para utilizar os itens
2. Seus mtodos em sua maioria so diferentes.

Mtodos
JComboBox(string)-> Cria uma caixa de seleo com um array do tipo string.
addItem(string)-> Adiciona o texto como um novo item
getSelecteditem()-> Obtm o texto do item selecionado.
getItemCount()-> Obtm a quantidade total de itens.
getSelectedIndex()-> Obtm o ndice do item selecionado.
removeitemAt(int)-> Remove o item de acordo com o ndice especificado.
RemoveAllitems()-> Remove todos os itens da Lista.
Ex:

18/04/2013

Gerenciadores de Layout
A funo do Gerenciador de Layout definir um Layout a ser usado em um
componente grfico como o Painel ou Frame, ou seja, dividir os componentes em
regies que abrigaro outros componentes grficos.
Principais Gerenciadores de Layout
1) FlowLayout: Os componentes so inseridos da esquerda para direita, ou seja,
a ordem com que eles so adicionados pelo mtodo .add.

Sintaxe: setLayout(new FlowLayout ([Alinhamento, espaamento_Horizontal,
Espaamento_Vertical]))

Alinhamento: Alinhamento que os componentes assumiro e devem ser
usados os valores inteiros: 0=Esquerda, 1=Centralizado, 2=Direita.
O valor default 0 quando no definido.

Espaamento_Horizontal: Distncia entre os objetos inseridos na mesma linha.

Espaamento_Vertical: Distncia dada entre as linhas onde os objetos esto
inseridos.
Ex: setLayout(new FlowLayout(1,20,40));
Como esta declarao, ser criado um Layout de Alinhamento Centralizado, 20
unidades de Espaamento Horizontal e 40 unidades de Espaamento Vertical.

Mtodo Funo
FlowLayout()
Criar um Layout padro: Alinhamento centralizado e
espaamentos entre os objetos com cinco unidades.
FlowLayout(int)
Criar um Layout com Alinhamento fornecido e
espaamentos entre os objetos com cinco unidades.
FlowLayout(int, int, int) Criar um Layout com valores fornecidos pelo usurio.

Ex:

GridLayout
O GridLayout um gerenciador que divide a janela em conjunto de clulas espalhadas
em uma Grade, de forma que todas possuam a mesma dimenso. Com o GridLayout a
janela dividida em linhas e colunas. Seu uso indicado quando os objetos a serem
inseridos precisam estar dispostos em forma de linha e coluna.
Mtodos Disponveis
MTODO FUNO
GridLayout() Cria um Layout com uma linha e uma coluna
GridLayout(int, int)
Cria um Layout com o nmero de linhas e colunas
especificados
GridLayout(int, int, int)
Criar um Layout com numero de linhas e colunas e com
espaamento horizontal e vertical especificado.

BorderLayout
um gerenciador que divide a janela em cinco regies distintas:
North: Regio Superior
South: Regio Inferior
West: Regio Esquerda
East: Regio Direita
Center: Regio Centro

Mtodos Disponveis
MTODO FUNO
BorderLayout() Criar um Layout sem espaamento entre as regies.
BorderLayout(int, int) Criar um Layout com espaamento vertical e horizontal.

Incluso de Abas
A incluso de abas (Guias), permite agrupar diversas janelas (Telas) em um s
componente. Esse recurso possvel com a classe JTabbedPane, que permite escolher
diferentes grupos de componentes, clicando em uma aba que contm um ttulo ou
cone.
Mtodos Disponveis
MTODO FUNO
JTabbedPane() Cria um painel vazio com abas na parte superior
JTabbedPane(int)
Cria um painel com as abas na localizao fornecida:
JTabbedPane TOP: Superior
JTabbedPane Bottom: Inferior
JTabbedPane Left: Esquerda
JTabbedPane Right: Direita
addTab(String, Component)
Adiciona um componente como ttulo da aba fornecido.
(No adiciona, cone)
addTab(String, Icon,
Component)
Adicionar um componente contendo um ttulo e um
cone.
gotSelectedIndex()
Retorna um inteiro que representa um ndice indicando
qual aba foi selecionada
gotTabCount()
Retorna um inteiro que representa a quantidade de
abas existentes.
Remove(int)
Remove abas e o componente correspondente ao
ndice fornecido.
RemoveAll()
Remove todas as abas correspondente de
JTabbedPane()
setSelectedIndex(int) Seleciona a aba correspondente ao ndice fornecido.

Incluso de Frames Internos
Um frame interno um objeto deve que possui muitas caractersticas de um Frame
comum, tais como redimensionar janela, botes maximizar e minimizar, ttulo da
Janela entre outros.
Mtodos Disponveis
MTODO FUNO
JInternalFrame() Cria um frame interno sem ttulo e sem nenhum boto.
JInternalFrame(String)
Cria um frame interno contendo um ttulo e sem
nenhum boto.
JInternalFrame(String,
boolean, boolean, boolean,
boolean)
Cria um frame interno contendo um ttulo e outras
caractersticas, dependendo de cada varivel booleana
ser True ou False na sequencia tem-se:
Redimensionamento, boto fechar, boto maximizar e
minimizar.
setClosable(boolean)
Define se o frame interno pode ser fechado pelo
usurio.
setIconiFiable(boolean) Define se o frame pode ser minimizado pelo usurio.
setMaximizable(boolean) Define se o frame pode ser maximizado pelo usurio.
setResizable(boolean) Define se o frame pode ser redimensionado.
Show()
Torna o frame interno visvel, o mesmo que
SetVisible(true).


JPasswordField
De forma semelhante ao JTextField, a classe JPasswordField permite criar uma caixa
para digitao de dados com caractere (*). Entretanto o caractere asterisco pode ser
alterado pelo usurio atravs do mtodo setEchoChar
Mtodos Disponveis
MTODO FUNO
JPasswordField() Cria uma caixa de texto vazia.
JPasswordField(string) Cria uma caixa de texto com a string especificada.
JPasswordField(int)
Cria uma caixa de texto com a quantidade de colunas
especificadas.
getPassword()
Obtm o texto do objeto. Cada caractere armazenado
num elemento array.
getEchoChar()
Obtm o caractere usado na substituio dos caracteres
digitados.
setEchoChar()
Define o caractere a ser usado em substituio dos
caracteres digitados.

Sintaxe:
JPasswordField<nome_do_objeto>=new JPasswordField()

JTable
JTable um component que permite mostrar e editar uma tabela. Seu estudo
extenso, pois o JTable possui mais de 130 mtodos que compe sua Classe. Os
principais mtodos so:
MTODO FUNO
JTable (int, int)
Cria uma tabela contendo um determinado nmero de
linhas e colunas fornecidas com clulas vazias e usando
o DefaultTableModel.
JTable(TableModel) Cria uma tabela a partir do TableModel fornecido.
getColumnCount()
Retorna o nmero inteiro referente ao nmero de
colunas existentes.
getColumnName(int)
Retorna uma string referente ao nome da coluna cujo
nmero deve ser fornecido.
getRowCount()
Retorna um nmero inteiro referente ao nmero de
linhas existentes.
getSelectedColumns()
Retorna um array de inteiros contendo os ndices de
todas as colunas selecionadas.
getSelectedRows()
Retorna um array de inteiros contendo os ndices de
todas as linhas selecionadas.
getValue(int,int)
Retorna um objeto com o contedo da clula cujas
linhas e colunas foram fornecidas.
SelectAll() Seleciona todas as linhas e colunas da tabela.
setValueAT(object, int, int)
Define um valor presente em Object para as clulas,
cuja a linha e coluna so fornecida.

Ex: Programa de lanamento de Pedidos por item.

Anda mungkin juga menyukai