Buscar

POO Plan

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

Aula 01 < >
Essas bibliotecas são fornecidas pelo JFC (Java Foundation Classes)
Container (Componente gráfico) - Suporta outro componente dentro - Armazena COMPONENTES
• SwingConstantsCENTER, 
• SwingConstantsHORIZONTAL, 
• SwingConstantsVERTICAL, 
• SwingConstantsLEADING, 
• SwingConstantsTRAILING, 
• SwingConstantsNORTH EAST, 
• SwingConstantsNORTH WEST,
• SwingConstantsSOUTH WEST, 
• SwingConstantsSOUTH EAST, 
• SwingConstantsRIGHT, 
• SwingConstantsLEFT
OK
Bolajava
BOTÕES Jbutton
JCheckBox
JRadioButton
JTextField
JTextArea
JScrollPane
Jslider
JComboBox
MENUS Jmenu
Interfaces Gráficas com Swing
4 - Aplicar as Interfaces, criando menus em exemplos e exercícios
3 - Utilizar interfaces gráficas interagindo com objetos e classes previamente definidos
O Java fornece uma infinidade de funcionalidades para prover comunicação humano-computado, ou melhor, para desenvolver interfaces São fornecidas duas 
bibliotecas para desenvolver um GUI Elas são:
Quando um ITEM é selecionado, é gerado um ItemEvent O mesmo pode ser tratado por um OBJETO que implemente a INTERFACE ItemListener;
javaxswing : Swing Componets – Fornece um conjunto de components alternativos, mais funcionais que os conjuntos fornecidos pela javaawt 
Java - Revisão de Interfaces gráficas com Swing
1 - Explorar o pacote Swing para desenvolver Interfaces em Java
PRINCIPAIS COMPONENTES (os componentes swing vêm com um J na frente)
javaawt (Abstract Window Toolkit) - classes básicas: Componentes "pesados" - Para desenhar, utilizava muito do SO, a interface no Windows ficava muito diferente no Linux, 
por ex Por conta disso, a partir da extensão AWT, foi desenvolvida a API swing
Javaxswing - Componentes "leves", mais distância do SO, interface mais comum ao se mudar o SO
2 - Criar e manipular Menus
As interfaces gráficas em Java
javaawt : Abstract Window Toolkit (classes básicas);
É um marcador que desliza entre um intervalo de inteiros, podendo selecionar qualquer valor de marca de medida em que repouse A aderência 
às marcas (snap to ticks) possibilita ao marcador aderir à marca mais próxima Responde ao mouse e teclad Orientação pode ser vertical ou 
horizontal As posições de mínimo e máximo podem ser invertidas com o MÉTODO setInvert(boolean)
Lista de valores ou opções Também é possível digitar nas linhas de uma ComboBox, implementadas com a CLASSE JComboBox, herdada de 
JComponent Geram ItemEvents como as CheckBoxes
São anexados à BARRA DE MENUS com o MÉTODO add(Jmenu) de JMenuBar
A CLASSE JMenuBar Fornece os métodos necessários ao gerenciamento da barra onde os menus são anexados
Jpanel - São elementos que fazem a intermediaçãoentre um CONTAINER e os demais GUI anexados Servem para definir grupos de componentes visuais também
COMPONENTES
Classe JRadioButton Quando um está ON, os outros estão OFF
Compreende a área de única linha, que suporta inserção ou exibição de texto Pode-se definir se o texto é manipulável pelo MÉTODO 
setEditable(boolean), utilizando o argumento true Quando o usuário digita um texto em uma JTextField e pressiona ENTER, ocorre um EVENTO 
de ação, que pode ser tratado por um OBJETO que implemente a INTERFACE ItemListener;
Área dimensionável que permite múltiplas linhas editadas com a mesma fonte Classe HERDADA de JTextComponent, que define métodos 
comuns para JTextField e JTextArea, além de outros GUI baseados em texto 
Pode-se configurar um texto com setText(string) ou acrescentar texto com o MÉTODO append(string)
Para evitar-se que um longo texto fique incluso em somente uma linha, usa-se o MÉTODO setLineWrap(boolean), que define a quebra ao 
alcançar a borda de JTextArea O problema é que as palavras podem ficar quebradas sem regras gramaticais Uma forma paliativa de resolver isso 
é invocar o MÉTODO setWrapStyleWord(boolean), que determina que a mudança de linha deja definida pelas palavras
Objetos dessa classe fornecem a capacidade de rolagem a componentes da classe Jcomponent quando necessitam de mais epaço para exibir 
dados JScrollPane(Component, Int, Int) e o construtor mais elaborado e recebe um component JTextArea, por exemplo, como primeiro 
argumento, definindo qual será o cliente JScrollPane, ou seja, para que membro serão fornecidas as barras de rolagem Os dois próximos 
argumentos definem o comportamento da barra VERTICAL e HORIZONTAL, respectivamente Usa-se as constantes definidas na INTERFACE 
JScrollPaneConstants, que é implementada por JScrollPane
JScrollPaneVERTICAL SCROLLBAR AS NEEDED - Aparecem somente quando necessário
JScrollPaneVERTICAL SCROLLBAR ALWAYS - Aparecem somente quando necessário
Na imagem podemos ver a hierarquia das classes das 
bibliotecas gráficas
JLabel - São rótulos estáticos que, geralmente, apresentam funcionalidades de outros componentes GUI, como por exemplo, campos de texto, ícones etc Também, 
serve para apresentar um pequeno texto As instruções são mostradas por meio de uma linha de texto: somente leitura, uma imagem ou ambas O construtor mais 
elaborado é JLabel (String, Icon, int) Os argumentos representam o rótulo a ser exibido, um ícone e o alinhamento, respectivamente Também, é possível a 
exibição de ícones em muito dos componentes Swing Para JLabels, basta especificar um arquivo com extensão png, gif ou jpg no segundo argumento do 
construtor do JLabel, ou utilizar o método setIcon(Icon), o arquivo da imagem algumNomexxx deve encontrar-se no mesmo diretório do programa, ou especifica-
se corretamente a estrutura de diretórios até ele 
As constantes SwingConstants, que definem o posicionamento de vários componentes GUI e aqui, são apropriadas ao terceiro argumento, determinam a locação 
do ícone em relação ao texto São elas:
• SwingConstantsNORTH, 
• SwingConstantsSOUTH, 
• SwingConstantsEAST, 
• SwingConstantsWEST, 
• SwingConstantsTOP, 
• SwingConstantsBOTTOM, 
Utilizando o NetBeans, crie um projeto como um novo aplicativo Java Dentro desse aplicativo, crie um novo formulário JFrame Dê o nome de Aula7Swingjava
Coloque um JLabel no frame e coloque o nome desejado que apareça
Execute o arquivo para ver o resultado
public static void main(String[] args) {
 // TODO code application logic here
 JFrame formulario = new JFrame();
 JLabel rotulo = new JLabel("Exemplo de Label");
 formulariosetLocation(100, 100);
 formulariosetSize(500, 200);
 
formulariosetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
 formularioadd(rotulo);
 formulariosetVisible(true);
 }
}
É um dos componentes mais familiares e intuitivos ao usuário São criados com a CLASSE Jbutton e seu pressionamento geralmente DISPARA A AÇÃO especificada 
em seu rótulo, que também suporta a exibição de pequenas imagens Ao pressionar o botão, é gerado um EVENTO ActionEvent que, juntamente com outros 
eventos, executam algum comando desejado
Jbutton, JCheckBox, JRadioButton, JTextField (1 linha), JPasswordField, JTextArea (multilinhas), JComboBox 
Componentes atômicos (Não suportma outros componentes dentro Botões, labels, textFields, sliders, check boxes, scrollbars
Container - É uma CLASSE ABSTRATA que DEFINE AS FUNCIONALIDADES básicas associadas a um container, tais como adicionar e remover componentes (métodos 
add() e remove()
Também é possível ESTABELECER QUAL ESTRATÉGIA de disposição de componentes no container, ou seja, qual o método de gerência de layout (método 
setLayout() )
Jframe - Define objetos que são utilizados para criar aplicativos baseados em GUI Consistem em uma janela com barra de título e uma borda
Java - Revisão de Interfaces gráficas com Swing
JScrollPaneVERTICAL SCROLLBAR NEVER - Aparecem somente quando necessário
JScrollPaneConstants
É possível configurar o comportamento om os MÉTODOS setVerticalScrollBarPolicy(int)
e setHorizontalScrollBarPolicy(int)
Tem comportamente semelhate a um botão rel, ao pressionarmos, executa uma ação
Para se criar um botão, deve-se estanciar uma das muitas classes que descendem da CLASSE AbstractButton, que define muitos dos recursos comuns aos botões 
SWING
COMO INSTANCIAR
Devemos usar o operador new
NomeDaClasse nomeDoObjeto = new NomeDaClasse();
Bola objeto = new Bola();
Bola bolaDoJoao = new Bola();
Bola minhaBola = new Bola();
minhaBolaraio=0,40;
minhaBolaoca=true;
minhaBolacor=1; // Definido como integer
public class Bola{ // Atributos
float raio;
boolean oca; 
int material;
int cor;
}
EXERCÍCIOS AULA 01 1 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 2 2 1 1 2
a
b
c
d
e X
2
a configuração do tamanho original do componente
b retorna tamanho ou largura do componente
c x NÃO EXISTE
d retorna o tamanho do componente em tempo de exec
e retorna a posição relativa ao container
3
a x
b Controle gráfico que altera com o SO
c
d
e
4
a
b
c
d x
e
5
a x
b
c
d E
e
6
a
b x
c
d
e
7
a
b
c
d
e x
8
a
b x
c
d
e
PRÁTICA - AULA 01
import javaxswingJFrame; import javaxswingJLabel; // swing
import javaxswingJPanel;import javaxswingJTextField;
import javaxswingJPasswordField; import javaxswingJRadioButton;
import javaxswingJCheckBox;import javaxswingJComboBox;
import javaxswingJButton;import javaxswingButtonGroup;
import javaxswingImageIcon; import javaxswingborderTitledBorder;
import javaxswingborderLineBorder;
import javaawtFont; import javaawtColor; //awt 
import javaawteventActionEvent;
import javaawteventActionListener;import javaawtImage;
public class TelaCadastro extends JFrame implements ActionListener{ 
 private JLabel lblTitulo = null; private JLabel lblNome = null;
 private JLabel lblEmail = null; private JLabel lblSexo = null;
 private JLabel lblSenha = null; private JLabel lblEstilo = null;
 private JLabel lblTimeFut = null;
 private JTextField txtNome = null;
 private JTextField txtEmail = null;
 private JPasswordField pwdSenha;
 private JRadioButton rdbMasculino = null;
 private JRadioButton rdbFeminino = null;
 private JCheckBox chkEsportes = null;
 private JCheckBox chkEducacao = null;
 private JCheckBox chkCulinaria = null;
 private JComboBox cmbTimesFut = null;
 private JButton btnEnviar = null;
 private ButtonGroup tipoSexo = null; 
 public TelaCadastro() { ull; private JButton btnEnviar = null; pri
 inicializaComponentes();
 @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" 
 Color CORFUNDO = new Color(153, 255, 153);
 JFrame formulario = new JFrame();
 Font fTit = new Font("Arial", FontBOLD, 16);
 formulariosetLocation(400, 100);
 formulariosetSize(450, 450); 
formulariosetDefaultCloseOperation(JFrameEXIT_ON_CLOSE); 
 JLabel imgLogo= new JLabel(); imgLogosetBounds(2,2,58, 58);
 imgLogosetHorizontalAlignment(JLabelCENTER);
 imgLogosetBackground(CORFUNDO); //
 ImageIcon logoJava = new ImageIcon( 
TelaCadastroclassgetResource("/imagens/Java_Logopjpg")); 
 Image lJava =logoJavagetImage()getScaledInstance(imgLogo 
getWidth(),imgLogogetHeight(),ImageSCALE_SMOOTH);
 imgLogosetIcon(new ImageIcon(lJava)); 
 JLabel txtTitulo=new JLabel ("Cadastro de Clientes");//Titulo
 txtTitulosetBounds(0,25,450,20);
 txtTitulosetFont(fTit);
 txtTitulosetHorizontalAlignment(JLabelCENTER);
 JLabel lblNome = new JLabel("Nome:");
 lblNomesetBounds(30,100,100,20);
 lblNomesetHorizontalAlignment(JLabelRIGHT);
 JTextField txtNome = new JTextField();
 txtNomesetBounds(135,100,180,20);
 JLabel lblEmail = new JLabel("e-mail:");
 lblEmailsetHorizontalAlignment(JLabelRIGHT);
 JTextField txtEmail = new JTextField();
 txtEmailsetBounds(135,125,180, 20);
 JLabel lblSenha = new JLabel("Senha:");
 lblSenhasetBounds(30,150,100, 20);
 lblSenhasetHorizontalAlignment(JLabelRIGHT);
 JPasswordField pwdSenha = new JPasswordField();
 pwdSenhasetBounds(135,150,180, 20);
 JLabel lblSexo = new JLabel("Sexo:"); lblSexosetBounds(30,175,100, 20);
 lblSexosetHorizontalAlignment(JLabelRIGHT);
 JRadioButton rdbMasculino = new JRadioButton("Masculino", false);
 rdbMasculinosetBounds(131,175,100, 20);
 JRadioButton rdbFeminino = new JRadioButton("Feminino", false); 
 rdbFemininosetBounds(240,175,100, 20);
 ButtonGroup tipoSexo = new ButtonGroup();
 tipoSexoadd(rdbMasculino); tipoSexoadd(rdbFeminino);
 JLabel lblEstilo = new JLabel("Estilo de Leitura:"); 
 lblEstilosetBounds(30,210,100, 20); 
 lblEstilosetHorizontalAlignment(JLabelRIGHT);
JCheckBox chkEsportes = new JCheckBox("Esportes", false);
 chkEsportessetBounds(131,210,150, 20);
 JCheckBox chkEducacao = new JCheckBox("Educação", false);
 chkEducacaosetBounds(131,235,150, 20);
 JCheckBox chkCulinaria = new JCheckBox("Culinária", false);
 chkCulinariasetBounds(131,260,150, 20);
 JLabel lblTimeFut = new JLabel("Time de Futebol:");
 lblTimeFutsetBounds(30,300,100, 20);
 lblTimeFutsetHorizontalAlignment(JLabelRIGHT);
 JComboBox cmbTimesFut = new JComboBox();
 cmbTimesFutsetBounds(133,300,178, 20); 
 JButton btnEnviar= new JButton("Enviar"); // Botão Enviar
 btnEnviaraddActionListener(this);
 btnEnviarsetBounds(330,350, 70, 20);
 formulariosetLayout(null); // Adicionando ao Layout 
 formularioadd(imgLogo); formularioadd(txtTitulo); 
 formularioadd(lblNome); formularioadd(txtNome);
 formularioadd(lblEmail); formularioadd(txtEmail);
 formularioadd(lblSenha); formularioadd(pwdSenha);
 formularioadd(lblSexo); // RadioButton
 formularioadd(rdbMasculino);
 formularioadd(rdbFeminino);
 formularioadd(lblEstilo); //CheckBox
 formularioadd(chkEsportes); formularioadd(chkEducacao);
 formularioadd(chkCulinaria);
 formularioadd(lblTimeFut); formularioadd(cmbTimesFut); //ComboBox
 formularioadd(btnEnviar); formulariosetVisible(true); pack(); } //</editorfold> 
public void actionPerformed(ActionEvent e) {
 txtNomesetText(""); txtEmailsetText(""); pwdSenhasetText(""); 
 tipoSexoclearSelection(); chkEsportessetSelected(false);
 chkEducacaosetSelected(false); chkCulinariasetSelected(false);
}
private void chkEsportesActionPerformed(javaawteventActionEvent evt) { }
private void chkEducacaoActionPerformed(javaawteventActionEvent evt) { }
private void chkCulinariaActionPerformed(javaawteventActionEvent evt) { } 
private void cmbTimesFutActionPerformed(javaawteventActionEvent evt) { } 
private void btnEnviaActionPerformed(javaawteventActionEvent evt) { }
private void jTextField_$NomeActionPerformed(javaawteventActionEvent evt) { } 
public static void main(String args[]) {
Criando telas Polimórficas
Para aplicar os conceitos de classe abstrata, criação de telas, herança e polimorfismo, iremos fazer uma classe genérica de cadastro que possa ser utilizada para 
várias classes de negócio
Para este sistema funcionar, precisamos construir uma tela de cadastro com uma barra de menus Esta tela se liga a TelaCad Dependendo da opção escolhida no 
menu, a tela de cadastro terá o comportamento de cadastro de Clube ou cadastro de Sócio Isso
é uma aplicação de polimorfismo
As telas acima são herdadas de telaCad Mas, cada uma contém um painel que determina as peculiaridades de cada cadastro
Todas as funcionalidades comuns são descritas em TelaCad, enquanto que as necessidades particulares são re-escritas 
SAIBA MAIS (AULA 01)
http://estaciobv3digitalpagescombr/users/publications/9788543004792/pages/348
Somente as CLASSES que estendem Throwable (pacote javalang) direta ou indiretamente, podem ser utilizadas com o tratamento de exceção
Exceção é uma indicação de um problema que ocorre durante a exec de um programa
http://estaciobv3digitalpagescombr/users/publications/9788543004792/pages/370
Leitura do Capítulo 11 do livro Java como programar, 6ª Edição, de H Deitel e P Deitel, Editora Pearson Education, 2005
Estruturas de Controle de Erros: try catch e try finally
try catch: erro => DESVIA O CÓDIGO para rotina designada
try {
 diretiva_normal;
 } catch (exception1) {
 diretiva_de_tratamento_de_erro1;
 }catch (exception2) {
 diretiva_de_tratamento_de_erro2;
 }
try finally: rotina de finalização é GARANTIDAMENTE 
EXECUTADA
Quando recursos do sistema ou estrutura de dados devem ser 
liberadas, independentemente de sua utilização
try {
 diretiva_normal;
 } finally {
 diretiva_de_tratamento_de_erro;
 }
import javacexe
var javascanner*
submit javaxio*
import javautil*
Gerenciadores de Leiautes
Resolução dos EXERCÍCIOSde 114 até 1110 do capítulo 11 do livro Java Como Programar 
dim javautil*
Identifique qual o método que NÃO é comum em todos os componentes do Swing 
O pacote de controles gráficos que o canvas não se altera com o sistema operacional é?
SÍNTESE DA AULA
Explorou o pacote Swing desenvolvendo Interfaces em Java;
Criou e manipulou Menus
Utilizou interfaces gráficas interagindo com objetos e classes previamente definidos
Aplicou os conhecimentos construindo exemplos de Interfaces, criando menus
Desenvolveu e executou pequenos programas com orientação a objetos, com o pacote Swing associado a objetos
PRÓXIMA AULA
Ao utilizar o Java na criação de uma aplicação, surge a necessidade da utilização do comando Scanner Esse comando viabiliza a entrada de informações pelo 
usuário via teclado Para a utilização do comando, devemos importar a biblioteca correspondente Essa biblioteca é importada através da linha de comando:
javaawt
javalang
Dentre os pacotes mais comuns utilizados em Java identifique a alternativa abaixo cujo descritivo da funcionalidade NÃO corresponde ao pacote relacionado
Java Swing: Criação de componentes de interface com o usuário mais sofisticadas
Java Networking: Desenvolvimento de aplicações de banco de dados SQL
Java Utilities: Para trabalhar com coleções, modelo de eventos e componentes de data e hora
Chamar (opcionalmente) show() e definir o tamanho do frame com setSize()
Definir o gerenciador de layout do frame e Registrar listeners para os componentes que querem tratar eventos
boolean, char, byte, short, int, long, float, double
boolean, char, int, long, float
boolean, string, short, int, long, float, double
boolean, string, int, float, double
boolean, string, byte, int, long, float
SWING
AWT
UTIL
IO
JAVAX
Os tipos primitivos de dados do Java são:
Considerando os passos para se criar uma GUI, identifique qual dos passos apresentados abaixo está INCORRETO
Adicionar os componentes ao content pane do frame ou a algum outro container
Declarar os componentes como propriedades da classe que estende JFrame (o top-level container)
Instanciar os componentes no construtor da classe ou na declaração
Aplicações de rede
Não é um pacote do Java
JTextField = Área em que o usuário insere dados pelo teclado
JLabel = Área em que o usuário utiliza para digitar
ButtonGroup: Componente utilizado para criar grupos de JRadioButtons
JFrame = É um container (formulário) para outros componentes GUI
JButton = Área que aciona um evento quando o usuário clica
Método show está obsoleto e foi 
subsituído pelo setVisible
get/setPreferredSize
getLength/Width
get/setDirSize
get/setSize
get/setLocation
javanet
javaexe
Idenficar qual das definições abaixo sobre componentes visuais que NÃO está correta
Interfaces gráficas que não altera o canvas com o SO
Interfaces gráficas padrão AWT
Classes como scanner entre outras
Java Basic I/O: Utilização de streams de dados
Java AWT: Criação de gráficos e imagens básicos além de interfaces com o usuário
As classes que compõem o núcleo de funcionalidades Java estão organizadas em pacotes, grupos de classes, interfaces e exceções afins ou de uma mesma 
aplicação Identifique entre os principais pacotes oferecidos como parte do núcleo Java, o que NÃO faz parte deste núcleo
javaxswing
EXERCÍCIOS AULA 01 2 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e
1 8 1 1 0 3 3 nova
a 0
b 0
c 0
d 0
e x 0
2 nova
a 0
b x 1
c 0 213
d 0
e 0
3 nova
a x 0
b 0
c 0
d 0
e 0
4 285
a 0
b 0
c 0
d x 0
e 0
5 nova
a
0
b
0
c
0
d x
0
e
0
6 nova
a 0
b 0
c 0 271
d 0
e x 0
7 nova
a 0
b 0
c 0
d 0
e x 0
8 nova
a
0
b
0
c
0
d x
0
e
0
public void PasteCopy(): Faz a cópia/cola de um texto.
public void setTitle(String title): Coloca um título na barra de título da janela.
Os objetos da classe JScrollPane fornecem capacidade de rolagem a componentes JComponent. O construtor JScrollPane(int, int) recebe, como parâmetros, 
dois valores inteiros que definem a política de rolagem - horizontal e vertical. Neste contexto, assinale a alternativa que apresenta a constante que representa a 
política para a barra de rolagem horizontal aparecer somente quando necessário.
VERTICAL_SCROLLBAR_ALWAYS
HORIZONTAL_SCROLLBAR_NEVER
HORIZONTAL_SCROLLBAR_ALWAYS
Swing tira proveito da arquitetura model-view-controller (MVC). O modelo representa o estado atual de cada componente. A visão é a 
representação dos componentes sobre a tela. O controle é a funcionalidade que liga os componentes de interface com usuário aos eventos.
Swing também fornece o suporte ao conceito look-and-feel, permitindo mudanças universais no estilo dos componentes da interface gráfica 
com o usuário. Outras características são: inclusão de tooltips, funcionalidades de acessibilidades, modelo de eventos e componentes 
A API Swing faz um excelente uso de subpacotes, com 16 deles na versão Java SE 6. Quando classes comuns são separadas em seus próprios 
pacotes, a usabilidade do código e manutenção são alavancadas.
Swing utiliza a classe Button para representar um container de botão, onde AWT utiliza a classe JButton.
A API Java Swing está contida no pacote javax.swing. Essa API provê funcionalidades para criação de componentes e containers "leves" 
(puramente criados em Java). A API Swing foi feita para substituir a API AWT. Muitas das novas classes refeitas foram chamadas com o nome 
ButtonGroup: Componente utilizado para criar grupos de JRadioButtons
JButton = Área que aciona um evento quando o usuário clica.
JFrame = É um container (formulário) para outros componentes GUI.
JLabel = Área em que o usuário utiliza para digitar.
JTextField = Área em que o usuário insere dados pelo teclado.
Trabalhando com componentes visuais como JFrame identifique qual o método abaixo é FALSO.
public void show(): Faz o frame aparecer na tela.
public void setVisible(boolean v): Faz com que o frame se torne visível (v=true) ou não (v=false).
public void setDefaultCloseOperation(int op) : Faz a janela realizar uma determinada operação quando fecha. Mais comum: 
JFrame.EXIT_ON_CLOSE.
Os objetos da classe JScrollPane fornecem capacidade de rolagem a componentes JComponent. O construtor JScrollPane(int, int) recebe, como parâmetros, 
dois valores inteiros que definem a política de rolagem - horizontal e vertical. Neste contexto, assinale a alternativa que apresenta a constante que representa a 
política para a barra de rolagem vertical sempre aparecer.
HORIZONTAL_SCROLLBAR_NEVER
HORIZONTAL_SCROLLBAR_AS_NEEDED
VERTICAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_ALWAYS
VERTICAL_SCROLLBAR_ALWAYS
Os tipos primitivos de dados do Java são:
boolean, string, short, int, long, float, double
boolean, char, byte, short, int, long, float, double
boolean, string, int, float, double
boolean, string, byte, int, long, float
boolean, char, int, long, float
Idenficar qual das definições abaixo sobre componentes visuais que NÃO está correta.
JClosed = Identifica todos os frames já fechados pelo usuário.
JCheckBox = Possui dois estados: selecionado ou não selecionado.
JList = Área em que uma lista é exibida, possibilitando a seleção clicando em qualquer item da lista.
JComboBox = Lista de itens que o usuário pode fazer uma seleção clicando em um item na lista ou digitando na caixa.
JPanel = Contêiner em que os componentes podem ser colocados.
Idenficar qual das definições abaixo sobre componentes visuais que NÃO está correta.
Questão não Localizada
boolean, char, byte, short, int, long, float, double
Questão não Localizada
VERTICAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_AS_NEEDED
Ao utilizar o Java na criação de uma aplicação, surge a necessidade da utilização do comando Scanner. Esse comando viabiliza a entrada de informações pelo 
dim java.util.*
import javac.exe
var java.scanner.*
submit javax.io.*
import java.util.*
Sobre API Java Swing identifique a alternativa FALSA.
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
EXERCÍCIOS AULA 01 3 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 8 2 2 0 2 2 nova
a
0
b x
0
c
0
d
0
e e
0
2 nova
a 0
b x 0
c 0
d 0
e 0
3 nova
a 0
b 0
c 0
d 0
e x 0
4 nova
a
0
b
0
c
0
d x
0
e
0
5 nova
a x 0
b 0
c 0
d 0
e 0
6 nova
a 0
b 0
c 0
d x 0
e 0
7 nova
a 0
b 0
c 0
d 0
e x 0
8 nova
a x 0
b 0
c 0
d 0
e 0
Acerca de Construtores em Java, marque a alternativa correta:
Não usamos construtor em Inteface gráfica
O construtor dar a possibilidade ou obriga o usuário de uma classe a passar argumentos para o objeto durante o processo de criação do mesmo
Um construtor é um método especial, já que possui retorno.
Os construtores permitem modificar suas saídas
O comando Scanner, permite a entrada de informações pelo usuário via teclado. Na utilização do comando, devemos declara-lo, por exemplo, da seguinte 
forma:
Scanner a = novo Scanner
Scanner xyz = new Scanner (System.in)
Scanner sc = new System.in
Scanner SC = new Scanner
Scanner sc System.in
Observe o código Java:
Se o atributo Base e o método setBase forem private, a única forma de atribuirmos o valor a Base, é através da instanciação:
java.net
java.awt
java.lang
java.exe
javax.swing
Dentre os pacotes mais comuns utilizados em Java identifique a alternativa abaixo cujo descritivo da funcionalidade NÃOcorresponde ao pacote relacionado.
Q1.Base = 6;
Q1.Base = Lado;
Quadrado Q1.setBase = new Quadrado;
Q1.SetBase = new Quadrado();
Quadrado Q1 = new Quadrado(Lado);
De acordo com algumas definições sobre JFrame identifique qual afirmação NÃO está correta.
Um frame, implementado como uma instância da classe JFrame, é uma janela que tem acessórios tais como borda, título e botões para fechar 
e minimizá-la.
Chamar (opcionalmente) show() e definir o tamanho do frame com setSize().
Adicionar os componentes ao content pane do frame ou a algum outro container.
Definir o gerenciador de layout do frame e Registrar listeners para os componentes que querem tratar eventos.
Instanciar os componentes no construtor da classe ou na declaração.
Declarar os componentes como propriedades da classe que estende JFrame (o top-level container).
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Java Swing: Criação de componentes de interface com o usuário mais sofisticadas.
Java Utilities: Para trabalhar com coleções, modelo de eventos e componentes de data e hora.
Java Basic I/O: Utilização de streams de dados.
A programação gráfica está muito ligada à ocorrência de eventos, que não precisam ser tratados durante o desenvolvimento do programa.
O setDefaultCloseOperation serve para dizermos ao programa o que queremos que o sistema faça quando fechamos uma JFrame qualquer.
Trabalhando com componentes visuais como JButton identifique qual o método abaixo é FALSO.
public void show(): Faz o frame aparecer na tela.
public JButton(String text): Cria um novo botão com o texto dado como parâmetro definido como texto de face.
public void setHorizontalAlignment: Define o alinhamento horizontal
public String getText():Retorna o texto mostrado no botão.
public void setText(String text): Muda o texto de face do botão.
As classes que compõem o núcleo de funcionalidades Java estão organizadas em pacotes, grupos de classes, interfaces e exceções afins ou de uma mesma 
aplicação. Identifique entre os principais pacotes oferecidos como parte do núcleo Java, o que NÃO faz parte deste núcleo.
Ao contrário de outras linguagens de programação, os containers Java não vêm 100% para lidar com os eventos básicos que ocorrem em uma 
janela.
Qualquer aplicativo Delphi ou VB sabe fechar sua janela sem problema, mas Java não.
Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor opcional, ele não recebe nenhum 
argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido.
Java AWT: Criação de gráficos e imagens básicos além de interfaces com o usuário.
Java Networking: Desenvolvimento de aplicações de banco de dados SQL.
Considerando os passos para se criar uma GUI, identifique qual dos passos apresentados abaixo está INCORRETO.
EXERCÍCIOS AULA 01 4 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 8 3 1 3 1 0 nova
a 0
b x 0
c 0
d e 0
e 0
2 nova
a 0
b 0
c x 0
d 0
e 0
3 199
a x 1
b 0
c 0
d 0
e 0
4 nova
a x 0
b 0
c 0
d 0
e 0
5 nova
a 0
b 0
c x 0
d 0
e 0
6 Enunciado igual. Opções dif 285
a x 0
b 0 296 292
c 0 84 84
d 0
e 0
JLabel = Área em que o usuário utiliza para digitar.
7 299
a
0
b
0
c
0
d x
1
e
0
8 nova
a 0
b 0
c x 1 271
d 0
e 0
Qual objeto abaixo não é um objeto atomico?
true, false, false, true
false, true, true, true
true, false, true, false
Caixa de Texto
Classe
combobox
Menu
Botão
00 11 23 36 410
02 14 25 36 47
O pacote de controles gráficos que o canvas não se altera com o sistema operacional é?
SWING
IO
JAVAX
UTIL
AWT
Analise o seguinte programa desenvolvido na linguagem Java.
public class testeLogica {
 public static void main(String[] args) {
 boolean A=true, B=false;
 boolean R1, R2, R3, R4;
 R1 = (A || B && A || !B);
 R2 = (!(A || !B) && (A || B));
 R3 = (A && B) && (!A || !B);
 R4 = (!A || B || A || !B);
 System.out.print(R1);
 System.out.print(R2);
 System.out.print(R3);
 System.out.print(R4);
 }
 }
public void show(): Faz o frame aparecer na tela.
Questão
não Localizada
SWING
Questão não Localizada
Um programa Java é listado a seguir:
Um bloco do programa está faltando. Ao inserir o bloco:
Qual será a saída exibida através do comando System.out.print ?
02 14 26 38
11 21 32 42 53
00 11 21 32 42
get/setSize
getLength/Width
Idenficar qual das definições abaixo sobre componentes visuais que NÃO está correta.
JLabel = Área em que o usuário utiliza para digitar.
ButtonGroup: Componente utilizado para criar grupos de JRadioButtons
JTextField = Área em que o usuário insere dados pelo teclado.
JFrame = É um container (formulário) para outros componentes GUI.
JButton = Área que aciona um evento quando o usuário clica.
Trabalhando com componentes visuais como JFrame identifique qual o método abaixo é FALSO.
VERTICAL_SCROLLBAR_AS_NEEDED
Questão não Localizada
JClosed = Identifica todos os frames já fechados pelo usuário.
public void PasteCopy(): Faz a cópia/cola de um texto.
false, true, false, true
false, false, false, true
Identifique qual o método que NÃO é comum em todos os componentes do Swing.
get/setLocation
get/setPreferredSize
get/setDirSize
public void setTitle(String title): Coloca um título na barra de título da janela.
public void setDefaultCloseOperation(int op) : Faz a janela realizar uma determinada operação quando fecha. Mais comum: 
JFrame.EXIT_ON_CLOSE.
public void PasteCopy(): Faz a cópia/cola de um texto.
public void setVisible(boolean v): Faz com que o frame se torne visível (v=true) ou não (v=false).
Os objetos da classe JScrollPane fornecem capacidade de rolagem a componentes JComponent. O construtor JScrollPane(int, int) recebe, como parâmetros, 
dois valores inteiros que definem a política de rolagem - horizontal e vertical. Neste contexto, assinale a alternativa que apresenta a constante que representa a 
política para a barra de rolagem vertical sempre aparecer.
HORIZONTAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_ALWAYS
VERTICAL_SCROLLBAR_ALWAYS
VERTICAL_SCROLLBAR_ALWAYS
HORIZONTAL_SCROLLBAR_NEVER
Questão não Localizada
EXERCÍCIOS AULA 01 5 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e
1 8 3 0 3 2 0 nova
a 0
b 0
c x 1 313
d 0
e 0
2 nova
a 0
b 0
c 0 285
d x 1
e 0
3 213
a x 1
b 0
c 0
d 0
e 0
4 nova
a 0
b 0
c 0 271
d x 1
e 0
5 320
a
0
b
0
c x
1
d
0
e
0
6
Enunciado igual. Opc dif
nova
a x 1
b 0 296 292
c 0 84 271 365
d 0
e 0
JLabel = Área em que o usuário utiliza para digitar.
7 330
a
0
b
0
c x
1
d
0
e
0
8 344
a x 1
b 0
c 0 271
d 0
e 0
Um construtor é um método especial, já que possui retorno.
O construtor dar a possibilidade ou obriga o usuário de uma classe a passar argumentos para o objeto durante o processo de 
criação do mesmo
Não usamos construtor em Inteface gráfica
Os construtores permitem modificar suas saídas
O construtor dar a possibilidade ou obriga o usuário de uma classe a passar argumentos para o objeto durante o processo de criação do mesmo
Observe o código Java:
Se o atributo Base e o método setBase forem private, a única forma de atribuirmos o valor a Base, é através da instanciação:
Quadrado Q1 = new Quadrado(Lado);
Q1.Base = Lado;
Q1.Base = 6;
Q1.SetBase = new Quadrado();
Quadrado Q1.setBase = new Quadrado;
Quadrado Q1 = new Quadrado(Lado);
java.net
javax.swing
java.lang
java.exe
Acerca de Construtores em Java, marque a alternativa correta:
Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor opcional, ele não recebe nenhum 
argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido.
Ao utilizar o Java na criação de uma aplicação, surge a necessidade da utilização do comando Scanner. Esse comando viabiliza a entrada de informações pelo 
usuário via teclado. Para a utilização do comando, devemos importar a biblioteca correspondente. Essa biblioteca é importada através da linha de comando:
import javac.exe
var java.scanner.*
import java.util.*
dim java.util.*
submit javax.io.*
import java.util.*
Idenficar qual das definições abaixo sobre componentes visuais que NÃO está correta.
JComboBox = Lista de itens que o usuário pode fazer uma seleção clicando em um item na lista ou digitando na caixa.
JPanel = Contêiner em que os componentes podem ser colocados.
JList = Área em que uma lista é exibida, possibilitando a seleção clicando em qualquer item da lista.
JClosed = Identifica todos os frames já fechados pelo usuário.
JCheckBox = Possui dois estados: selecionado ou não selecionado.
java.awt
JClosed = Identifica todos os frames já fechados pelo usuário.
Os tipos primitivos de dados do Java são:
boolean, char, byte, short, int, long, float, double
boolean, string, byte, int, long, float
boolean, string, short, int, long, float, double
boolean, string, int, float, double
boolean, char, int, long, float
boolean, char, byte, short, int, long, float, double
Os objetos da classe JScrollPane fornecem capacidade de rolagem a componentes JComponent. O construtor JScrollPane(int, int) recebe, como parâmetros, 
dois valores inteiros que definem a política de rolagem - horizontal e vertical. Neste contexto, assinale a alternativa que apresenta a constante que representa a 
política para a barra de rolagem horizontal aparecer somente quando necessário.
HORIZONTAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_NEVER
VERTICAL_SCROLLBAR_AS_NEEDED
VERTICAL_SCROLLBAR_ALWAYS
HORIZONTAL_SCROLLBAR_ALWAYS
VERTICAL_SCROLLBAR_ALWAYS
Sobre API Java Swing identifique a alternativa FALSA.
A API Swing faz um excelente uso de subpacotes, com 16 deles na versão Java SE 6. Quando classes comuns são separadas em seus próprios 
pacotes, a usabilidade do código e manutenção são alavancadas.
A API Java Swing está contida no pacote javax.swing. Essa API provê funcionalidades para criação de componentes e containers "leves" 
(puramente criados em Java). A API Swing foi feita para substituir a API AWT. Muitas das novas classes refeitas foram chamadas com o nome 
Swing utiliza a classe Button para representar um container de botão, onde AWT utiliza a classe JButton.
Swing também fornece o suporte ao conceito look-and-feel, permitindo mudanças universais no estilo dos componentes da interface gráfica 
com o usuário. Outras características são: inclusão de tooltips, funcionalidades de acessibilidades, modelo de eventos e componentes 
Swing tira proveito da arquitetura model-view-controller (MVC). O modelo representa o estado atual de cada componente. A visão é a 
representação dos componentes sobre a tela. O controle é a funcionalidade que liga os componentes de interface com usuário aos eventos.
Swing utiliza a classe Button para representar um container de botão, onde AWT utiliza a classe JButton.
As classes que compõem o núcleo de funcionalidades Java estão organizadas em pacotes, grupos de classes, interfaces e exceções afins ou de uma mesma 
aplicação. Identifique entre os principais pacotes oferecidos como parte do núcleo Java, o que NÃO faz parte deste núcleo.
java.exe
Aula 02 < >
Existem basicamente 3 tipos de maneiras de organizar componentes GUI:
Alterando o alinhamento
layoutsetAlignment(FlowLayoutTRAILING);
TAREFA:
Pág 6 de 13
Gerenciadores de Layouts
package testegridlayout;
import javaxswingJFrame; import javaxswingJButton; //swing
import javaxswingborderTitledBorder;import javaxswingborderLineBorder;
import javaawtFlowLayout; import javaawtGridLayout; //awt
import javaawtLayoutManager; import javaawtLayoutManager2;
import javaawtBorderLayout; import javaawtEventQueue;
import javaawtFont; import javaawtColor;
import javaawtDimension; import javaawtFlowLayout;
public class TesteGridLayOut extends JFrame {
private static final long serialVersionUID = 1L;
public TesteGridLayOut() { super("Teste GridLayout");
 thissetLayout(new FlowLayout()); thissetVisible(true);
 thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
 initialize(); }
 private void initialize() {
setPreferredSize(new Dimension(400, 200));
setLayout(new GridLayout(3,5));// setLayout(layout);
JButton[] botoes = new JButton[12]; 
for (int i=0; i<botoeslength; i++){
 botoes[i] = new JButton("Botão "+Stringformat("%d", i));
 botoes[i]setBorder(new TitledBorder(new LineBorder(ColorBLUE)));
 thisadd(botoes[i]);
 }thisrepaint();thisvalidate();pack();}
public static void main(String args[]) { 
new TesteGridLayOut()setVisible(true);
}}
contsetLayout(new XXXLayout());
Containers derivados da classe Window têm como padrão um gerenciador de layout do tipo BorderLayout, enquanto 
aqueles derivados de Panel usam como padrão FlowLayout
FlowLayout
Caso o espaço de uma linha horizontal não seja 
suficiente para caber todos os componentes, este 
gerenciador de leiautes utiliza mais de uma linha
Utilizando o método setAlignment(int align), podemos definir qual o tipo de alinhamento será utilizado No quadro abaixo, apresentamos as três 
constantes que podem ser usadas como align para definir o tipo de alinhamento dos componentes
à esquerda: layoutsetAlignment(FlowLayoutLEFT);
* void validate()- Usado para rearranjar os componentes em um container se o gerenciador de layout sofreu alguma modificação ou novos 
componentes foram adicionados
Classe gerenciadora de leiaute que dispõe os componentes GUI sequencialmente na janela, da esquerda para a direita, de cima para baixo, 
como se fosse a escrita de um texto dentro de um parágrafo à medida que os componentes são adicionados ao contêiner 
É comumente utilizado para arrumar botões em painéis As linhas são centralizadas
O exemplo apresenta uma tela com 5 botões
à direita: layoutsetAlignment(FlowLayoutRIGHT);
à Principal: layoutsetAlignment(FlowLayoutLEADING);
Para definirmos um tamanho do contêiner, utilizamos o método setPreferredSize (Dimension predefinida)
Esse método recebe um objeto da classe Dimension(Largura, Altura) Então, teremos:
setPreferredSize(new Dimension(400, 200)); //Define um contêiner de 400 de largura por 200 de altura
Complementando esse gerenciador, também podemos definir o intervalo entre os componentes, tanto vertical, quanto horizontalmente, por meio dos 
métodos setHgap e setVgap Ambos recebem um inteiro que define o intervalo em pixels
Altere o programa fornecido para verificar todos esses comandos apresentados Veja como a redefinição destes componentes altera a 
aparência da disposição dos componentes
GriLayout
Classe gerenciadora de leiaute que dispõe os componentes GUI em um grid, como se fosse uma grade de uma planilha de cálculo Os componentes 
são colocados em linhas e colunas pré-determinadas e deixando-os com o mesmo tamanho O tamanho dos componentes será ajustado 
automaticamente à medida que a janela é redimensionada
Construtor: Função Podemos acessar esses 
ATRIBUTOS pelos métodos 
estudados em FlowLayout
new GridLayout(); Cria grade com única linha e número de colunas necessárioas para colocar cada componente em uma coluna
new GridLayout(int rows, int cols); Cria grade com única linha e número de linhas e colunas segundo os parâmetros
new GridLayout(int rows, int cols, int hgap, intvgap); Cria grade com os parâmetros de linhas, colunas, espaçamento horizontal e vertical
diagrama de classes
Para determinar que o gerenciador de layout em um container cont seja do tipo XXXLayout, é preciso invocar setLayout(), passando como 
Utilizando os gerenciadores de layout, sua tarefa pode ficar mais simples e rápida, uma vez que o 
gerenciador fará o trabalho para você, automaticamente O problema é que você irá perder autonomia e o 
controle sobre o posicionamento e tamanho dos GUIs
3 - Aprender a desenvolver pequenos programas para exemplificar os tópicos estudados
* void setLayout(LayoutManager l)- Recebe como argumento o objeto, que implementa LayoutManager e determina qual a política de gerência de 
disposição de componentes a ser adotada
GERENCIADORES DE LEIAUTES (layouts)
1 - Conhecer os vários tipos de layout da biblioteca Swing
O pacote javaawt apresenta vários gerenciadores de layout pré-definidos As classes FlowLayout e GridLayout são implementações de 
LayoutManager; BorderLayout, CardLayout e GridBagLayout são implementações de LayoutManager2 O pacote Swing acrescenta ainda um 
gerenciador BoxLayout
Os principais métodos da classe Container relacionados ao layout de componentes são:
public class JFrameGridLayout extends javaxswingJFrame {
 GridLayout layout; /** Creates new form JFrameGridLayout */
 public JFrameGridLayout() {
 super("Teste GridLayout ");
 initialize();
 }
 private void initialize() {
 setDefaultCloseOperation(javaxswingWindowConstantsEXIT_ON_CLOSE);
 setPreferredSize(new Dimension(400, 200));
 layout = new GridLayout(3,5); // setLayout(layout);
 getContentPane()setLayout(layout); 
 //layoutsetAlignment(FlowLayoutTRAILING); layoutsetHgap(15); layoutsetVgap(60);
 for (int i=0; i<10; i++){
 add(new JButton("Botão- "+i));
 }
 pack();
 }
 /** * @param args the command line arguments */
 public static void main(String args[]) {
 javaawtEventQueueinvokeLater(new Runnable() {
 public void run() {
 new JFrameGridLayout()setVisible(true);
 }
Programação Visual em uma IDE
São ferramentas de design fornecidas pelas IDEs que permitem arrastar e soltar os componentes GUI de 
uma caixa de ferramentas em uma área de desenho em branco Geralmente, a IDE cria o código Java 
necessário Nesses ambientes, você ainda pode acrescentar códigos de tratamento de eventos de um 
componente escolhido através de cliques ou duplo clique
SAIBA MAIS sobre container aula02_doc01pdf
Quando um container tem mais de um componente, é preciso especificar como devem ser dispostos Em Java, um objeto que implementa a 
interface LayoutManager é responsável por esse gerenciamento A interface LayoutManager2 é uma extensão de LayoutManager que incorpora o 
conceito de restrições de posicionamento de componentes em um container
2 - Aprender como gerenciar os vários tipos de layout da biblioteca Swing
Os gerenciadores de leiautes organizam os componentes GUI em um contêiner de objetos com o objetivo de construir uma apresentação melhor 
Sua função é facilitar a vida do designer na construção das interfaces Essa funcionalidade permite que o programador se concentre na aparência e 
nos comportamentos básicos, deixando para o gerenciador de leiaute a responsabilidade do detalhe da aparência Todos estes gerenciadores 
implementam a interface LayoutManager, (no pacote javaawt) 
O método setLayout, da classe Container, aceita um objeto que implementa a interface LayoutManager como parâmetro 
Posicionamento Absoluto
Utilizado pela maioria das IDE’s, pois, permite que especifique uma posição absoluta de cada componente 
GUI em relação ao canto superior esquerdo do contêiner Usa os métodos Component setSize e 
setLocation ou setBounds É considerado muito trabalhoso para se construir sem auxilio de IDE’s
Gerenciadores de Layout
Definições de leiautes:
Funciona como o MESCLAR CÉLULA do EXCEL
alinhamento do componente dentro da célula
proporção do espaço extra alocado à célula na h ou v, qdo o contentor é redimensionado
public Insets(cima, esquerda, baixo, direita) Default: null
internal padding
 restricoesgridx = 1; restricoesgridy
= 0;
 restricoesgridwidth = 1; restricoesgridheight = 1;
 restricoesfill = GridBagConstraintsBOTH;
 restricoesipadx = 4; restricoesipady = 4;
 restricoesinsets = margens;
 add(add, restricoes);
 restricoesgridy = 1;
 add(clear, restricoes);
 restricoesgridy = 2;
 add(close, restricoes);
 pack();
 }
 public static void main(String[] args) {
 POOGridBagLayout POOGridBagLayout = new 
POOGridBagLayout();
 POOGridBagLayoutsetVisible(true);
 }
}
package poogridbaglayout; import javaawtButton;
import javaawtDimension;
import javaawtGridBagConstraints;
import javaawtGridBagLayout;
import javaawtInsets; import javaawtList;
import javaawtTextArea; import javaxswingJFrame;
import javaxswingWindowConstants;
public class POOGridBagLayout extends JFrame {
 private GridBagLayout layout = null;
 private final int noLinhas = 3;
 public POOGridBagLayout() {
 super("Teste GridBagLayout");
 
setDefaultCloseOperation(WindowConstantsEXIT_ON_
CLOSE);
 setPreferredSize(new Dimension(400, 200));
 layout = new GridBagLayout(); // setLayout(layout);
BorderLayout
import javaawtBorderLayout; // swing
import javaawtDimension; import javaxswingJButton;
import javaxswingJLabel;
import javaawtGridBagConstraints; // awt
/** * @author LH *//** * @author Eduardo */
public class POOLHBorderLayout extends javaxswingJFrame {
 BorderLayout layout; /** Creates new form POOBorderLayout */
 public POOLHBorderLayout() { super("Teste BorderLayout");
 initialize();
 }
 private void initialize() { 
 setDefaultCloseOperation(javaxswingWindowConstantsEXIT_ON_CLOSE);
 setPreferredSize(new Dimension(400, 200)); //define o tamanho
 layout = new BorderLayout();
 getContentPane()setLayout(layout);
 layoutsetHgap(5); //define o espaçamento horizontal entre GUI
 layoutsetVgap(5); //define o espaçamento vertical entre GUI
 add(new JButton("Norte"), BorderLayoutNORTH);
 add(new JButton("Sul"), BorderLayoutSOUTH);
 add(new JButton("Leste"), BorderLayoutEAST);
 add(new JButton("Oeste"), BorderLayoutWEST);
 JLabel lblCentral= new JLabel("Um texto (centralizado) no Centro");
 lblCentralsetHorizontalAlignment(JLabelCENTER);
 add(lblCentral); pack(); }
 public static void main(String args[]) {
 javaawtEventQueueinvokeLater(new Runnable() {
 @Override
 public void run() {
 new POOLHBorderLayout()setVisible(true);
 }
Classe gerenciadora de leiaute que dispõe os componentes GUI em cinco (5) áreas: norte (parte superior), sul (parte 
inferior), leste (lado direito), oeste (lado esquerdo) e centro Podemos adicionar até cinco componentes neste gerenciador, um 
por região Regiões Norte e Sul têm prioridade sobre Leste e Oeste e estas têm prioridade sobre a região Central
Existem cinco constantes definidas para que possamos acessar as áreas: BorderLayoutNORTH, BorderLayoutSOUTH, 
BorderLayoutEAST, BorderLayoutWEST e BorderLayoutCENTER
Quando não definimos qual setor o componente irá entrar, ele irá para a área central;
Os métodos de definição de espaçamento vertical e horizontal funcionam normalmente neste gerenciador
Os métodos setSize e setLocation também funcionam e definem tamanho e local onde a janela irá aparecer
tamanho dos componentes em relação ao das células
Default: NONE
gridx Default: GridBagConstraintsRELATIVE
gridy Default: GridBagConstraintsRELATIVE
gridwidth A constante REMAINDER da classe GridBagConstraints 
estende o componente até ao fim do contentorgridheight Define o NÚMERO DE LINHAS que o componente usa Default: 1
Define a COLUNA em que o componente será alocado A coluna mais à esquerda tem valor ZERO (0)
Define a LINHA em que o componente será alocado A coluna mais acima tem valor ZERO (0)
Define o NÚMERO DE COLUNAS que o componente usa Default: 1
 List lEsq = new List(noLinhas, true);
 lEsqadd("Um"); lEsqadd("Dois"); lEsqadd("Tres");
 lEsqadd("Quatro"); lEsqadd("Cinco");
 lEsqadd("Seis"); lEsqadd("Sete");
 Button add = new Button(">>");
 Button clear = new Button("Clear");
 Button close = new Button("Close");
 TextArea tDir = new TextArea("", noLinhas,
 10, TextAreaSCROLLBARS_NONE);
 GridBagConstraints restricoes = 
new GridBagConstraints();
 restricoesgridx = 0; restricoesgridy = 0;
 restricoesgridwidth = 1; restricoesgridheight = 3;
 restricoesfill = GridBagConstraintsVERTICAL;
 add(lEsq, restricoes);
 restricoesgridx = 2;
 add(tDir, restricoes);
 Insets margens = new Insets(4, 3, 4, 3);
anchor
fill
Classe gerenciadora de leiaute que dispõe os componentes GUI em cartões Apenas um cartão é visível por vez e o contêiner 
trabalha como se os cartões estivessem empilhados O primeiro componente adicionado é o componente GUI, visível quando o 
contêiner é apresentado pela primeira vez 
Quando adicionamos os componentes na tela, precisamos definir qual área estaremos utilizando Essa informação é dada pelas constantes acima;
CardLayout
GridBagLayout (São 11 opções)
BoxLayout
Classe gerenciadora de leiaute oferecida pelo Swing que é simples, com alto grau de FLEXIBILIDADE Dispõe os 
componentes GUI em apenas UMA ÚNICA LINHA OU COLUNA, porém, arranjos de componentes bem complexos podem 
ser obtidos por meio da COMBINAÇÃO desses componentes Normalmente esse tipo de gerenciador não é usado 
diretamente, mas sim por meio de um conteiner di tipo BOX
Classe gerenciadora de leiaute semelhante a GridLayout, mas diferente pelo fato que podemos variar o tamanho dos 
componentes, além de podermos adicionar em qualquer ordem. Cada objeto do GridBagLayout mantém uma grade de células 
retangulares 
Principais características:
* O contêiner é dividido numa grande de células formadas por linhas e colunas
* O alinhamento do componente dentro da célula pode ou não manter dimensões originais np redimensionamento da janela
* Em cada célula pode haver apenas um componente a ser expandido de forma a ocupar uma área correspondente a uma ou mais 
linhas e/ou colunas
GridBagLayout
Utilizado qdo o COMPONENTE < ÁREA DA CÉLULA a que foi alocado para indicar a posição do componente na célula 
O PADRÃO é CENTER São possíveis NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, NORTHWEST
Utilizado qdo ÁREA PARA APRESENTAÇÃO DO COMPONENTE > TAMANHO NATURAL DO COMPONENTE Indica como a apresentação 
do componente irá OCUPAR A ÁREA DISPONÍVEL Os VALORES DAS CONSTANTES DEFINIDAS DA CLASSE SÃO:
NONE: NÃO MODIFICA o tamanho padrão do componente
VERTICAL: ocupa o espaço VERTICAL mas NÃO ALTERA A LARGURA do componente
HORIZONTAL: ocupa o espaço HORIZONTAL mas NÃO ALTERA A ALTURA do componente
BOTH: ocupa o espaço disponível nas duas dimensões
DescriçãoCampo
Uma vez que o desenho da interface tenha sido especificado, a chave para a utilização deste gerenciador é a criação de um objeto 
de restrição de posicionamento Esse objeto é da classe GridBagConstraints Uma vez que esse objeto tenha sido criado e suas 
restrições especificadas, basta associar essas restrições ao componente usando o método setConstraints() e adicioná-lo ao 
container com o método add() com o segundo parâmetro de restrições
Define o ESPAÇAMENTO À VOLTA do componente Default: SEM Espaçamento (null) Ex: cinsets = new Inset(5, 5, 5, 5);
Enchimento interno do componente para aumentar o seu tamanho mínimo
Define o ESPAÇAMENTO EXTRA para alocação VERTICAL (Y) e HORIZONTAL (X)weightx, weighty
insets
ipadx, ipady
pág 10 de 13
Escreva um programa para criar a janela de uma 
calculadora, como a foto abaixo
SAIBA MAIS (AULA 2)
Leitura do Capítulo 11, do livro: Java, como programar 6ª Edição, de H Deitel e P Deitel, Editora Pearson Education, 2005 (mesmo da aula I) Capítulo 11
http://estaciobv3digitalpagescombr/users/publications/9788543004792/pages/370
ATIVIDADE PROPOSTA
http://estaciobv3digitalpagescombr/users/publications/9788543004792/pages/???
Resolução dos EXERCÍCIOSde 1111 até 1118, do capítulo 11, do livro: Java, Como Programar 
EXERCÍCIOS AULA 02 1 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 8 1 2 2 2 1 nova
a x 0
b 0
c 0
d 0
e 0
2 nova
a
0
b
0
c
0
d x
0
e
0
3 nova
a 0
b 0
c x 0
d 0
e 0
4 nova
a 0
b 0
c 0
d x 0
e 0
5 nova
a 0
b 0
c 0
d 0
e x 0
6 nova
a 0
b x 0
c 0
d 0
e E 0
7 nova
a 0
b x 0
c 0
d 0
e 0
8 nova
a 1,2,6,4,3,5; 1Classe JFrame 2 0 186
b 1,2,4,6,5,3; 2Classe JComponent 5 0 187
c x 2,5,1,3,6,4; 3Classe JButton 1 0 188
d 2,6,5,3,4,1; 4GridLayout 3 0 189
e 2,6,5,4,3,1; 5LayoutManager 6 0 190
6MouseListener 4 nova
R: 2,5,1,3,6,4;
Analise as linhas de código abaixo, e assinale a alternativa que descreve corretamente tal processamento:
GridLayout layout; 
 layout = new GridLayout(4,6); 
cria uma grade com 5 linhas e 7 colunas
cria uma grade com 4 linhas e 6 colunas
cria uma grade com 6 linhas e 4 colunas
cria uma grade com 4 linhas e 5 colunas
GridLayout é a classe gerenciadora de leiaute que dispõe os componentes GUI em um grid, como se fosse uma grade de uma planilha de cálculo Então, os 
componentes são colocados em linhas e colunas pré-determinadas Assinale a alternativa que indica corretamente a chamada ao construtor que cria um grid 
com 5 linhas e 3 colunas
new GridLayout (2,4)
new GridLayout (3,5)
new GridLayout (5,3)
"Classse gerenciadora de layout oferecida pelo Swing que é simples, com alto grau de flexibilidade Dispõe os componentes GUI em uma única linha ou única 
coluna Entretanto, arranjos de componentes bem complexos podem ser obtidos" Assinale a alternativa que indica a classe gerenciadora acima descrita
BoxLayout
CardLayout
GidBagLayout
BoderLayout
FlowLayout
De acordo com os tipos de Layout, identifique qual das afirmações abaixo está INCORRETA
- BorderLayout: é o padrão Divide a tela em cinco regiões (NORTH, SOUTH, EAST, WEST, CENTER) Todo componente adicionado entra 
automaticamente no centro, "empurrando" os outros para as bordas 
GridBagLayout: permite maior controle que o GridLayout Neste layout você pode definir exatamente como as regiões da sua grade irão se 
comportar e reformatar caso a janela tenha seu tamanho alterado Entretanto, é o gerenciador mais complexo de utilizar Ele foi criado para ser 
utilizado por programas de criação de GUI's
FlowLayout: é o mais simples Ele simplesmente "enche" o container com componentes da esquerda pra direita, até terminar o espaço da linha 
Daí, ele faz a mesma coisa na linha abaixo Todos os componentes sempre terão um espaço do tamanho que eles estão ocupando no momento
BoxLayout: é uma versão simplificada do GridBagLayout Permite indicar a localização dos componentes em coordenadas X e Y, porém não 
permite o controle da distância entre componentes
GridLayout: permite construir uma tabela de componentes Ao adicioná-los, eles são colocados da esquerda para a direita e de cima para baixo 
em uma grade Você pode especificar o número de colunas e linhas que serão necessárias, e todas terão o mesmo tamanho Se existir menos 
componentes do que o total de espaços, eles ficarão vazios Caso contrário, o componente excedente não será mostrado
new GridLayout (4,2)
GridBagLayout
FlowLayout
GridLayout
CardLayout
Os gerenciadores de layouts organizam os componentes GUI em um container de objetos com o objetivo de construir uma apresentação melhor Sua função é 
facilitar a vida do designer na construção das interfaces Essa funcionalidade permite que o programador se concentre na aparência e nos comportamentos 
básicos, deixando para o gerenciador de layout a responsabilidade do detalhe da aparência Neste contexto, assinale a alternativa que apresenta o conjunto de 
linhas que configura o gerenciador FlowLayout para o container corrente
Classe filha de Frame proveniente da classe Window;
Classe filha de JComponent;
Classe filha de EventListener;
Classe que implementa LayoutManager
layout = new FlowLayout(); getContentPane()getLayout(layout);
Associe as colunas e marque a alternativa correta: 
1Classe JFrame ( ) Classe filha de Container;
2Classe JComponent ( ) Interface proveniente da awt;
3Classe JButton ( ) Classe filha de Frame proveniente da classe Window;
4GridLayout ( ) Classe filha de JComponent;
5LayoutManager ( ) Classe filha de EventListener;
6MouseListener ( ) Classe que implementa LayoutManager
"Classe gerenciadora de leiaute que dispõe os componentes GUI em cartões Apenas um cartão é visível por vez e o contêiner trabalha como se os cartões 
estivessem empilhados O primeiro componente adicionado é o componente GUI visível quando o contêiner é apresentado pela primeira vez" Assinale a 
alternativa que indica a classe gerenciadora acima descrita
BorderLayout é a classe gerenciadora de leiaute que dispõe os componentes GUI em cinco áreas: norte (parte superior), sul (parte inferior), leste (lado direito), 
oeste (lado esquerdo) e centro Quando não definimos em qual setor o componente irá entrar, ele irá para qual área?
layout = new FlowLayout(); getContentPane()setLayout(layout);
layout = new FlowLayout(); getContent()setLayout(layout);
layout = new FlowLayout(); getPane()setLayout(layout);
Classe filha de Container;
Interface proveniente da awt;
cria uma grade com 7 linhas e 5 colunas
new GridLayout (3,5,10,5)
BoxLayout
layout = new FlowLayout(); getContentPane(layout);
Oeste
Centro
Sul
Leste
Norte
EXERCÍCIOS AULA 02 2 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 8 4 3 1 0 0 nova
a x 0
b 0
c 0
d 0
e 0
2 nova
a x 0
b 0
c 0
d 0
e 0
3 nova
a 0
b x 0
c 0
d 0
e 0
4 nova
a 0
b x 0
c 0
d 0
e 0
5 nova
a x
0
b
0
c
0
d e
0
e
0
6 nova
a 0
b 0 666 664
c x 0 276 277
d 0
e 0
Centro
7 nova
a
0
b x
0
c
0
d
0
e
0
8 nova
a x 0
b 0
c 0
d 0
e 0
BoxLayout
FlowLayout
CardLayout
GidBagLayout
De acordo com a definição de Gerenciamento de Layout, identifique qual das alternativas abaixo NÃO está correta.
A decisão é tomada usando-se designs padronizados pelo usuário.
Chamadas possíveis do add: Usando posição relativa (BorderLayout) panel.add(component, BorderLayout.CENTER) e Ordem de adição: 
(BoxLayout, GridLayout, ...) panel.add(component).
layout = new FlowLayout(); 
 getContent().setLayout(layout);
Sul
FlowLayout
BorderLayout
GridLayout
CardLayout
GridBagLayout
Analise as linhas de código abaixo, e assinale a alternativa que descreve corretamente tal processamento:
GridLayout layout; 
 layout = new GridLayout(4,6); 
cria uma grade com 7 linhas e 5 colunas
A plataforma Java fornece quatro layout managers mais usados: BorderLayout, BoxLayout, FlowLayout, GridLayout.
Vários tipos de designs diferentes podem ser combinados para realizar qualquer tela que desejamos.
BorderLayout é a classe gerenciadora de leiaute que dispõe os componentes GUI em cinco áreas: norte (parte superior), sul (parte inferior), leste (lado direito), 
oeste (lado esquerdo) e centro. Quando não definimos em qual setor o componente irá entrar, ele irá para qual área?
Quando usarmos o método add para acrescentar um componente em um container,
o layout manager em uso deve ser levado em 
consideração.
posiciona um botão ("OK") na área oeste do container.
posiciona um botão ("OK") na área central do container.
cria uma grade com 4 linhas e 6 colunas
cria uma grade com 4 linhas e 5 colunas
cria uma grade com 5 linhas e 7 colunas
cria uma grade com 6 linhas e 4 colunas
"Classse gerenciadora de layout oferecida pelo Swing que é simples, com alto grau de flexibilidade. Dispõe os componentes GUI em uma única linha ou única 
coluna. Entretanto, arranjos de componentes bem complexos podem ser obtidos". Assinale a alternativa que indica a classe gerenciadora acima descrita.
BoderLayout
Norte
Centro
Leste
Oeste
Os gerenciadores de layouts organizam os componentes GUI em um container de objetos com o objetivo de construir uma apresentação melhor. Sua função é 
facilitar a vida do designer na construção das interfaces. Essa funcionalidade permite que o programador se concentre na aparência e nos comportamentos 
básicos, deixando para o gerenciador de layout a responsabilidade do detalhe da aparência. Neste contexto, assinale a alternativa que apresenta o conjunto de 
linhas que configura o gerenciador FlowLayout para o container corrente.
Uma interface deve conter paineis que aparecem de acordo com um determinado contexto. Os paineis contêm diferentes componentes. Quando um painel 
está visível, os outros devem estar "escondidos". Neste caso, deve-se utilizar um gerenciador de layout:
Marque a alternativa que indica esse gerenciador de layout.
CardLayout
GridLayout
FlowLayout
Nenhum
BorderLayout
"Classe gerenciadora de leiaute que dispõe os componentes GUI sequencialmente na janela, da esquerda para a direita, de cima para baixo". Assinale a 
alternativa que indica a classe gerenciadora acima descrita.
layout = new FlowLayout(); 
 getContentPane().setLayout(layout);
layout = new FlowLayout();
 getContentPane(layout);
layout = new FlowLayout();
 getContentPane().getLayout(layout);
layout = new FlowLayout();
 getPane().setLayout(layout);
Analise as linhas de código abaixo, e assinale a alternativa que descreve corretamente tal processamento:
layout = new BorderLayout();
getContentPane().setLayout(layout);
add(new Button("OK"), BorderLayout.EAST);
posiciona um botão ("OK") na área leste do container.
posiciona um botão ("OK") na área sul do container.
posiciona um botão ("OK") na área norte do container.
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
Questão não Localizada
EXERCÍCIOS AULA 02 3 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e
1 8 0 1 2 2 3 nova
a 0
b 0
c x 0
d 0
e 0
2 nova
a 0
b 0
c 0
d 0
e x 0
3 nova
a
0
b x
0
c
0
d
0
e
0
4 nova
a 0
b 0
c 0
d x 0
e 0
5 nova
a 0
b 0
c 0
d 0
e x 0
6 nova
a 0
b 0
c x 0
d 0
e 0
7 nova
a
0
b e
0
c
0
d
0
e x
0
8 nova
a 0
b 0
c 0
d x 0
e 0
2,6,5,3,4,1;
2,5,1,3,6,4.
1,2,6,4,3,5;
FlowLayout.RIGTH
"Classe gerenciadora de leiaute que dispõe os componentes GUI em cartões. Apenas um cartão é visível por vez e o contêiner trabalha como se os cartões 
estivessem empilhados. O primeiro componente adicionado é o componente GUI visível quando o contêiner é apresentado pela primeira vez." Assinale a 
alternativa que indica a classe gerenciadora acima descrita.
CardLayout
Questão não Localizada
FlowLayout é a classe gerenciadora de layout que dispõe os componentes GUI sequencialmente na janela, da esquerda para a direita, de cima para baixo, como 
new GridLayout (4,2)
new GridLayout (3,5,10,5)
new GridLayout (3,5)
new GridLayout (5,3)
new GridLayout(2,5)
new GridLayout(5,2)
new GridLayout(6,3)
new GridLayout(3,5)
Trata o container como se fosse uma "página" ou um "parágrafo" da esquerda para a direita e de cima para baixo.
Os componentes são posicionados na ordem inversa que foram adicionados.
Questão não Localizada
GridLayout é a classe gerenciadora de leiaute que dispõe os componentes GUI em um grid, como se fosse uma grade de uma planilha de cálculo. Então, os 
new GridLayout (2,4)
Questão não Localizada
Se a linha for muito longa, os componentes passam para a linha de baixo.
É uma classe gerenciadora de layout que arranja os componentes seqüencialmente na janela, da esquerda para a direita, do topo para baixo.
Seja um frame "f" criado a partir da seguinte linha de comando: JFrame f=new JFrame();
f.add(BorderLayout());
Questão não Localizada
Associe as colunas e marque a alternativa correta: 
1. Classe JFrame
2. Classe JComponent
3. Classe JButton
4. GridLayout
5. LayoutManager
6. MouseListener
( ) Classe filha de Container;
( ) Interface proveniente da awt;
( ) Classe filha de Frame proveniente da classe Window;
( ) Classe filha de JComponent;
( ) Classe filha de EventListener;
( ) Classe que implementa LayoutManager.
1,2,4,6,5,3;
Questão não Localizada
Assinale a alternativa que indica corretamente a chamada ao construtor da classe GridLayout que cria uma grade com 3 linhas e 6 colunas.
new GridLayout(3,6)
Questão não Localizada
De acordo com a definição de FlowLayout, identifique qual das alternativas abaixo NÃO está correta.
Os componentes recebem o seu tamanho preferido tanto verticalmente quanto horizontalmente.
2,6,5,4,3,1;
f.add(BorderLayout);
f.setLayout(BorderLayout);
f.new BorderLayout();
f.setLayout(new BorderLayout());
FlowLayout.LEADING
FlowLayout.CENTER
- GridBagLayout: permite maior controle que o GridLayout. Neste layout você pode definir exatamente como as regiões da sua grade irão se 
comportar e reformatar caso a janela tenha seu tamanho alterado. Entretanto, é o gerenciador mais complexo de utilizar. Ele foi criado para 
ser utilizado por programas de criação de GUI's.
- BorderLayout: é o padrão. Divide a tela em cinco regiões (NORTH, SOUTH, EAST, WEST, CENTER). Todo componente 
adicionado entra automaticamente no centro, "empurrando" os outros para as bordas. 
- FlowLayout: é o mais simples. Ele simplesmente "enche" o container com componentes da esquerda pra direita, até terminar o espaço da 
linha. Daí, ele faz a mesma coisa na linha abaixo. Todos os componentes sempre terão um espaço do tamanho que eles estão ocupando no 
momento.
- GridLayout: permite construir uma tabela de componentes. Ao adicioná-los, eles são colocados da esquerda para a direita e de cima para 
baixo em uma grade. Você pode especificar o número de colunas e linhas que serão necessárias, e todas terão o mesmo tamanho. Se existir 
menos componentes do que o total de espaços, eles ficarão vazios. Caso contrário, o componente excedente não será mostrado.
GridLayout
FlowLayout
BoxLayout
GridBagLayout
FlowLayout.TRAILING
FlowLayout.LEFT
Questão não Localizada
De acordo com os tipos de Layout, identifique qual das afirmações abaixo está INCORRETA.
- BoxLayout: é uma versão simplificada do GridBagLayout. Permite indicar a localização dos componentes em coordenadas X e Y, porém não 
permite o controle da distância entre componentes.
Questão não Localizada
EXERCÍCIOS AULA 02 4 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e
1 8 5 0 0 1 2 nova
a x
1
b
0
c
0 710
d
0
e
0
2 nova
a 0
b 0
c 0 741
d x 1
e 0
3 748
a 0
b 0
c 0
d 0
e x 1
4 755
a x
1
b
0
c
0
d
0
e
0
5 nova
a x 1
b 0
c 0 762
d 0
e 0
6 nova
a x 1
b 0
c 0 769
d 0
e 0
7 nova
a x 1
b 0
c 0 776
d 0
e 0
8 783
a
0
b
0
c
0
d
0
e x
1
A decisão é tomada usando-se designs padronizados
pelo usuário.
Associe as colunas e marque a alternativa correta: 
1. Classe JFrame
2. Classe JComponent
3. Classe JButton
4. GridLayout
5. LayoutManager
6. MouseListener
( ) Classe filha de Container;
( ) Interface proveniente da awt;
( ) Classe filha de Frame proveniente da classe Window;
( ) Classe filha de JComponent;
( ) Classe filha de EventListener;
( ) Classe que implementa LayoutManager.
1,2,6,4,3,5;
2,6,5,3,4,1;
2,6,5,4,3,1;
2,5,1,3,6,4.
1,2,4,6,5,3;
2,5,1,3,6,4.
Assinale a alternativa que indica corretamente a chamada ao construtor da classe GridLayout que cria uma grade com 3 linhas e 6 colunas.
new GridLayout(3,5)
new GridLayout(5,2)
new GridLayout(2,5)
new GridLayout(6,3)
new GridLayout(3,6)
new GridLayout(3,6)
De acordo com a definição de FlowLayout, identifique qual das alternativas abaixo NÃO está correta.
Os componentes são posicionados na ordem inversa que foram adicionados.
É uma classe gerenciadora de layout que arranja os componentes seqüencialmente na janela, da esquerda para a direita, do topo para baixo.
Os componentes recebem o seu tamanho preferido tanto verticalmente quanto horizontalmente.
Se a linha for muito longa, os componentes passam para a linha de baixo.
De acordo com a definição de Gerenciamento de Layout, identifique qual das alternativas abaixo NÃO está correta.
A decisão é tomada usando-se designs padronizados pelo usuário.
Quando usarmos o método add para acrescentar um componente em um container, o layout manager em uso deve ser levado em 
consideração.
Vários tipos de designs diferentes podem ser combinados para realizar qualquer tela que desejamos.
Chamadas possíveis do add: Usando posição relativa (BorderLayout) panel.add(component, BorderLayout.CENTER) e Ordem de adição: 
(BoxLayout, GridLayout, ...) panel.add(component).
A plataforma Java fornece quatro layout managers mais usados: BorderLayout, BoxLayout, FlowLayout, GridLayout.
Trata o container como se fosse uma "página" ou um "parágrafo" da esquerda para a direita e de cima para baixo.
Os componentes são posicionados na ordem inversa que foram adicionados.
GridLayout é a classe gerenciadora de leiaute que dispõe os componentes GUI em um grid, como se fosse uma grade de uma planilha de cálculo. Então, os 
componentes são colocados em linhas e colunas pré-determinadas. Assinale a alternativa que indica corretamente a chamada ao construtor que cria um grid 
com 5 linhas e 3 colunas.
new GridLayout (5,3)
new GridLayout (3,5,10,5)
new GridLayout (3,5)
new GridLayout (4,2)
new GridLayout (2,4)
new GridLayout (5,3)
"Classe gerenciadora de leiaute que dispõe os componentes GUI em cartões. Apenas um cartão é visível por vez e o contêiner trabalha como se os cartões 
estivessem empilhados. O primeiro componente adicionado é o componente GUI visível quando o contêiner é apresentado pela primeira vez." Assinale a 
alternativa que indica a classe gerenciadora acima descrita.
CardLayout
BoxLayout
GridBagLayout
FlowLayout
GridLayout
CardLayout
FlowLayout é a classe gerenciadora de layout que dispõe os componentes GUI sequencialmente na janela, da esquerda para a direita, de cima para baixo, como 
se fosse a escrita de um texto dentro de um parágrafo, à medida que os componentes são adicionados ao container. Utilizando o método setAlignment(int 
align) podemos definir qual o tipo de alinhamento será utilizado. Assinale a alternativa que apresenta a constante que corresponde ao alinhamento dos 
componentes para o canto principal de orientação do container, como por exemplo à esquerda em uma orientação da esquerda para direita.
FlowLayout.LEADING
FlowLayout.CENTER
FlowLayout.RIGTH
FlowLayout.LEFT
FlowLayout.TRAILING
FlowLayout.LEADING
De acordo com os tipos de Layout, identifique qual das afirmações abaixo está INCORRETA.
- BorderLayout: é o padrão. Divide a tela em cinco regiões (NORTH, SOUTH, EAST, WEST, CENTER). Todo componente adicionado entra 
automaticamente no centro, "empurrando" os outros para as bordas. 
- GridBagLayout: permite maior controle que o GridLayout. Neste layout você pode definir exatamente como as regiões da sua grade irão se 
comportar e reformatar caso a janela tenha seu tamanho alterado. Entretanto, é o gerenciador mais complexo de utilizar. Ele foi criado para 
ser utilizado por programas de criação de GUI's.
- GridLayout: permite construir uma tabela de componentes. Ao adicioná-los, eles são colocados da esquerda para a direita e de cima para 
baixo em uma grade. Você pode especificar o número de colunas e linhas que serão necessárias, e todas terão o mesmo tamanho. Se existir 
menos componentes do que o total de espaços, eles ficarão vazios. Caso contrário, o componente excedente não será mostrado.
- FlowLayout: é o mais simples. Ele simplesmente "enche" o container com componentes da esquerda pra direita, até terminar o espaço da 
linha. Daí, ele faz a mesma coisa na linha abaixo. Todos os componentes sempre terão um espaço do tamanho que eles estão ocupando no 
momento.
- BoxLayout: é uma versão simplificada do GridBagLayout. Permite indicar a localização dos componentes em coordenadas X e 
Y, porém não permite o controle da distância entre componentes.
- BoxLayout: é uma versão simplificada do GridBagLayout. Permite indicar a localização dos componentes em coordenadas X e Y, porém não permite o controle da distância entre componentes.
EXERCÍCIOS AULA 02 5 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e
1 8 1 1 2 4 0 nova
a 0
b 0
c 0 790
d x 1
e 0
2 nova
a 0
b x 1
c 0 689
d 0
e 0
3 696
a 0
b 0
c x 1
d 0
e 0
4 nova
a 0
b 0
c x 0
d 0
e 0
5 nova
a
0
b
0
c
0 724
d x
1
e
0
6 nova
a 0
b 0
c 0 717
d x 1
e 0
7 731
a 0
b 0
c 0
d x 1
e 0
8 nova
a x 1
b 0
c 0 682
d 0
e 0
Seja um frame "f" criado a partir da seguinte linha de comando: JFrame f=new JFrame();
Marque a opção que traz a forma CORRETA de se estabelecer um um gerenciador de layout para o frame "f".
f.setLayout(BorderLayout);
f.add(BorderLayout());
f.add(BorderLayout);
f.setLayout(new BorderLayout());
f.new BorderLayout();
f.setLayout(new BorderLayout());
"Classe gerenciadora de leiaute que dispõe os componentes GUI sequencialmente na janela, da esquerda para a direita, de cima para baixo". Assinale a 
alternativa que indica a classe gerenciadora acima descrita.
GridLayout
FlowLayout
BorderLayout
CardLayout
GridBagLayout
FlowLayout
Analise as linhas de código abaixo, e assinale a alternativa que descreve corretamente tal processamento:
GridLayout layout; 
 layout = new GridLayout(4,6); 
cria uma grade com 4 linhas e 5 colunas
cria uma grade com 7 linhas e 5 colunas
cria uma grade com 4 linhas e 6 colunas
cria uma grade com 5 linhas e 7 colunas
cria uma grade com 6 linhas e 4 colunas
cria uma grade com 4 linhas e 6 colunas
Os gerenciadores de leiautes organizam os componentes GUI em um contêiner de objetos com o objetivo de construir uma apresentação melhor. Sua função é 
facilitar a vida do designer na construção das interfaces. Essa funcionalidade permite que o programador se concentre na aparência e nos comportamentos 
básicos, deixando para o gerenciador de leiaute a responsabilidade do detalhe da aparência. Os contêiners derivados da classe Window podem utilizar os 
leiautes do tipo: (I) BorderLayout (II) FlowLayout (III) GridLayout (IV) GridBagLayout
As opções I e II estão erradas.
Apenas a IV está errada.
Todas as opções estão corretas.
Apenas a opção III está errada.
As alternativas I e IV estão erradas.
Questão não Localizada
Os gerenciadores de layouts organizam os componentes GUI em um container de objetos com o objetivo de construir uma

Teste o Premium para desbloquear

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

Continue navegando