AV1 Linguagem de Programação 2
1-Explique como se cria interface gráfica.
Descreva o passo a passo dos Conteiners e
ferramentas que foi utilizado.
2-Crie um pgm Construa um algoritmo que leia do
usuário o salário e exiba uma mensagem de
acordo com as seguintes condições: se o salário
for até 1salário mínimo, escreva a mensagem
“Até 1salário mínimo; se o salário for acima de R$
1 salario e até 1 e meio escreva a mensagem
“Até 2 salários mínimos”; se for acima de 2
salários “Acima de 2 salários mínimos”.
Suposta resposta prática questão 1
FORMULÁRIO - JFRAME
A classe JFrame é responsável pela criação da Janela em si, ou seja, toda
classe que criarmos que extenda JFrame também será janela.
Para criar um JFrame vamos clicar com o botão direito do mouse em cima
do pacote que desejamos criar o Frame, como por exemplo o pacote visao:
CRIANDO UM JFRAME
Após escolher a opção Form JFrame surgirá uma caixa de diálogo
perguntando o nome do JFrame. Para melhor identificação aconselho a utilização
de "GUI" ou "UI" antes do nome da janela.
GUI significa Graphics User Interface e "UI" significa User Interface. A
Imagem a seguir mostra como ficou o nome da janela.
INSERINDO NOME NO JFRAME
PAINE L E M CAMADAS -
JLAYE RE DPANE
Esse componente é utilizado para agrupar outros componentes, podendo
assim separar por categorias, grupos dentro de um mesmo cadastro.
O painel em camadas encontra-se na categoria "Conteiners Swing",
conforme mostra a Imagem a seguir:
ONDE ENCONTRAR PAINEL EM CAMADAS
Após inserir o painel em camadas podemos modificar as bordas do mesmo,
para isso é só acessar as "propriedades" do componente na opção "border"
conforme a próxima Imagem.
COLOCANDO BORDAS NOS PAINÉIS
ATENÇÃO: Caso você escolha a opção "borda com título" você deve
obrigatoriamente inserir o título, caso contrário será gerada uma exceção no Java.
A próxima Imagem demonstra como ficaram os painéis em camada com os
respectivos títulos:
EXEMPLO DE UTILIZAÇÃO JLAYEREDPANE
INSE RINDO OS COMPONE NTE S DE
CONTROLE
Os próximos componentes serão encontrados na Categoria "Controles
Swing". Lá encontraremos os componentes necessários para gerenciar o Form,
como: JLabel, JTextField, JButton entre outros. A Imagem a seguir mostra a
categoria "Controles Swing":
ONDE ENCONTRAR OS PRÓXIMOS COMPONENTES
RÓTULO - JLABE L
A classe JLabel é utilizada para inserir rótulos para que o usuário identificar
o que ele deverá digitar.
EXEMPLO DE UTILIZAÇÃO JLABEL
M OD IFICAN D O O TEXTO
Todos os componentes inseridos na tela podem ter seu texto alterado. A
alteração do texto ajuda com que o usuário saiba o que e onde deve digitar as
informações. Para alterar os textos podemos clicar em "Propriedades" e alterar a
opção "Text", conforme Imagem:
MODIFICANDO O TEXTO
CAMPO DE TE XTO - JTE XTFIE LD
Essa classe é responsável pela entrada de dados a partir do usuáio, ou seja,
o usuário digita as informações em um JTextField e nós conseguimos buscar a
informação através dos métodos pré-definidos. O texto no JTextField deve ser
apagado, deixando o campo vazio para o usuário digitar a informação solicitada,
conforme Imagem:
EXEMPLO DE UTILIZAÇÃO JTEXTFIELD
Os métodos básicos dessa classe são:
 getText():String
 setText(String):void
GETTEXT
Esse método permite buscar o que foi digitado pelo usuário.
Atenção: Todos osdados retornados através do getText() entrarão no sistema como
String. Para receber os dados como int, double, por exemplo, temos que utilizar os
métodos parse.
SETTEXT
O método setText serve para enviar um texto para um text field. Ele aguarda
uma String. Geralmente o setText é utilizado apenas para enviar "null" ou aspas
para que o campo seja apagado. Isso é feito geralmente no botão limpar.
BOTÃO - JBUTTON,
JTOGGLE BUTTON
No Swing nós temos algumas opções de botão para utilizar, são elas:
 JButton
 JToggleButton
BOTÃO - JBUTTON
O JButton é o botão mais usual do Java, é nele que colocamos os eventos.
Quando o usuário clica ou aperta a tecla enter o botão é acionado e algum trecho
de código é executado.
EXEMPLO DE UTILIZAÇÃO JBUTTON
BOTÃO ALTER N AR - JTOGGLEBUTTON
O jtogglebutton é um botão diferenciado, já que ele tem 2 estados, não
clicado ou clicado. Ele é um botão "sim/não" "true/false". Podemos através de seus
métodos saber se o usuário clicou(marcando ou desmarcando) no botão. No
Android também temos o ToggleButton, ele é o botão que ativa/desativa o rádio
no Android.
MODIFICANDO AS VARIÁ VE IS
Agora que todos os componentes foram inseridos e já tiveram seus nomes
alterados, devemos modificar o nome das variáveis. Para modificar o nome das
variáveis podemos utilizar o menu Propriedades -> Código -> Alterar Nome da
Variável, conforme Imagem:
MODIFICANDO AS VARIÁVEIS
Todos os códigos disponibilizados daqui para frente no site utilizarão a
seguinte nomenclatura de variáveis:
 para JLabel -> jlNomeVariavel
 para JTextField -> jtNomeVariavel ou jtfNomeVariavel
 para JButton -> jbNomeVariavel
 para JLayeredPane -> jlpNomeVariavel
 para JCheckBox -> jcbNomeVariavel ou jcNomeVariavel
 para JRadioButton -> jrNomeVariavel ou jrbNomeVariavel
 para JList -> jlistNomeVariavel ou jlistaNomeVariavel
 para JTable -> jtableNomeVariavel ou jtabelaNomeVariavel
 para JComboBox -> jcbNomeVariavel ou jcomboNomeVariavel
E VE NTO - JE VE NT
Os eventos nós podemos inserir em qualquer componente. Alguns
componentes só aceitam eventos específicos, mas no geral a maioria dos
componentes aceita a maioria dos eventos.
Mas o que é um evento? Um evento é um método no Java que fica
"escutando" o que o usuário está fazendo. Quando o usuário faz alguma coisa
relacionada com o evento ele dispara realizando algum trecho de código. O simples
clicar do usuário em algum botão é um evento. Se o usuário marcar algum botão e
apertar enter é outro tipo de evento. O botão pode ser o mesmo, porém os eventos
são diferentes.
Os eventos mais utilizados são:
 Action Performed
 Focus Gained
 Focus Lost
 Focus Gained
 Item State Changed
 Focus Gained
 Key Pressed
 Key Released
 Mouse Clicked
Para inserirmos eventos nos componentes devemos primeiramente marcar
os mesmos com o botão esquerdo do mouse. Nesse exemplo você deve marcar o
botão cadastrar primeiro e acessar a opção Propriedades -> Eventos, conforme
Imagem a seguir:
COMO INSERIR OS EVENTOS
ATENÇÃO: Ao inserir o evento o Netbeans automaticamente vai mostrar
o mesmo criado no código fonte. Para voltar e inserir outro evento devemos clicar
na opção "Projeto" novamente.
Por padrão devemos inserir 2 eventos, são eles:
 Action Performed
 Key Pressed
A próxima Imagem demonstra como ficaram os 4 eventos inseridos:
EVENTOS INSERIDOS
Agora que já criamos os eventos, vamos criar 2 métodos que serão
chamados dentro desses eventos. Mas porque criar métodos? Esses métodos serão
criados para não precisar copiar e colar código de um evento para outro, fazendo
com que o software fique "modularizado". A imagem a seguir demonstra como
ficaram os 2 métodos criados por nós:
CRIANDO OS MÉTODOS PARA CHAMAR NOS EVENTOS
CHAMANDO OS MÉ TODOS NOS
E VE NTOS
Agora que já criamos os métodos, devemos chamar os mesmos dentro dos
métodos, conforme Imagem que segue:
CHAMANDO OS MÉTODOS NOS EVENTOS
E VE NTO K E Y P R E S S E D E O " I F "
Note que dentro dos eventos KeyPressed foi inserido
um "if". Esse "if" é responsável por testar se realmente o
objeto "evt" que entrou no parâmetro do mesmo é "igual" a
tecla válida enter(VK_ENTER). Se for igual o evento vai
disparar o método chamado dentro do if.
ATENÇÃO: Além da tecla Enter, o evento Action
Performed também permite que o usuário utilize a "barra de
espaço" como padrão ao marcar um botão com o evento.
P R O G R AM AÇ Ã O
Agora vamos pensar em tudo que foi realizado e em
qual ordem foi realizado. Esses passos devem ser sempre
seguidos:
 Criar o JFrame
 Inserir os Painéis em Camada
 Inserir os componentes que serão utilizados
 Renomear o nome dos componentes para que fique bom
para o usuário
 Renomear o nome das variáveis para que fique bom para
nós
 Inserir os eventos nos botões
 Criar os métodos(manualmente) necessários para cada
botão
 Chamar os métodos dentro dos eventos
 Realizar a programação necessária nos métodos
Agora que já entendemos exatamente o que foi
realizado, vamos ver como ficou a programação dentro dos
métodos:
MÉTODO CADASTRAR
MÉTODO LIMPAR

Revisão de Java paraAV1.docx

  • 1.
    AV1 Linguagem deProgramação 2 1-Explique como se cria interface gráfica. Descreva o passo a passo dos Conteiners e ferramentas que foi utilizado. 2-Crie um pgm Construa um algoritmo que leia do usuário o salário e exiba uma mensagem de acordo com as seguintes condições: se o salário for até 1salário mínimo, escreva a mensagem “Até 1salário mínimo; se o salário for acima de R$ 1 salario e até 1 e meio escreva a mensagem “Até 2 salários mínimos”; se for acima de 2 salários “Acima de 2 salários mínimos”. Suposta resposta prática questão 1
  • 2.
    FORMULÁRIO - JFRAME Aclasse JFrame é responsável pela criação da Janela em si, ou seja, toda classe que criarmos que extenda JFrame também será janela. Para criar um JFrame vamos clicar com o botão direito do mouse em cima do pacote que desejamos criar o Frame, como por exemplo o pacote visao:
  • 3.
    CRIANDO UM JFRAME Apósescolher a opção Form JFrame surgirá uma caixa de diálogo perguntando o nome do JFrame. Para melhor identificação aconselho a utilização de "GUI" ou "UI" antes do nome da janela. GUI significa Graphics User Interface e "UI" significa User Interface. A Imagem a seguir mostra como ficou o nome da janela.
  • 4.
    INSERINDO NOME NOJFRAME PAINE L E M CAMADAS - JLAYE RE DPANE Esse componente é utilizado para agrupar outros componentes, podendo assim separar por categorias, grupos dentro de um mesmo cadastro. O painel em camadas encontra-se na categoria "Conteiners Swing", conforme mostra a Imagem a seguir: ONDE ENCONTRAR PAINEL EM CAMADAS
  • 5.
    Após inserir opainel em camadas podemos modificar as bordas do mesmo, para isso é só acessar as "propriedades" do componente na opção "border" conforme a próxima Imagem. COLOCANDO BORDAS NOS PAINÉIS ATENÇÃO: Caso você escolha a opção "borda com título" você deve obrigatoriamente inserir o título, caso contrário será gerada uma exceção no Java. A próxima Imagem demonstra como ficaram os painéis em camada com os respectivos títulos: EXEMPLO DE UTILIZAÇÃO JLAYEREDPANE
  • 6.
    INSE RINDO OSCOMPONE NTE S DE CONTROLE Os próximos componentes serão encontrados na Categoria "Controles Swing". Lá encontraremos os componentes necessários para gerenciar o Form, como: JLabel, JTextField, JButton entre outros. A Imagem a seguir mostra a categoria "Controles Swing": ONDE ENCONTRAR OS PRÓXIMOS COMPONENTES
  • 7.
    RÓTULO - JLABEL A classe JLabel é utilizada para inserir rótulos para que o usuário identificar o que ele deverá digitar. EXEMPLO DE UTILIZAÇÃO JLABEL M OD IFICAN D O O TEXTO Todos os componentes inseridos na tela podem ter seu texto alterado. A alteração do texto ajuda com que o usuário saiba o que e onde deve digitar as informações. Para alterar os textos podemos clicar em "Propriedades" e alterar a opção "Text", conforme Imagem: MODIFICANDO O TEXTO
  • 8.
    CAMPO DE TEXTO - JTE XTFIE LD Essa classe é responsável pela entrada de dados a partir do usuáio, ou seja, o usuário digita as informações em um JTextField e nós conseguimos buscar a informação através dos métodos pré-definidos. O texto no JTextField deve ser apagado, deixando o campo vazio para o usuário digitar a informação solicitada, conforme Imagem: EXEMPLO DE UTILIZAÇÃO JTEXTFIELD Os métodos básicos dessa classe são:  getText():String  setText(String):void GETTEXT Esse método permite buscar o que foi digitado pelo usuário. Atenção: Todos osdados retornados através do getText() entrarão no sistema como String. Para receber os dados como int, double, por exemplo, temos que utilizar os métodos parse. SETTEXT O método setText serve para enviar um texto para um text field. Ele aguarda uma String. Geralmente o setText é utilizado apenas para enviar "null" ou aspas para que o campo seja apagado. Isso é feito geralmente no botão limpar.
  • 9.
    BOTÃO - JBUTTON, JTOGGLEBUTTON No Swing nós temos algumas opções de botão para utilizar, são elas:  JButton  JToggleButton BOTÃO - JBUTTON O JButton é o botão mais usual do Java, é nele que colocamos os eventos. Quando o usuário clica ou aperta a tecla enter o botão é acionado e algum trecho de código é executado. EXEMPLO DE UTILIZAÇÃO JBUTTON BOTÃO ALTER N AR - JTOGGLEBUTTON O jtogglebutton é um botão diferenciado, já que ele tem 2 estados, não clicado ou clicado. Ele é um botão "sim/não" "true/false". Podemos através de seus métodos saber se o usuário clicou(marcando ou desmarcando) no botão. No Android também temos o ToggleButton, ele é o botão que ativa/desativa o rádio no Android. MODIFICANDO AS VARIÁ VE IS Agora que todos os componentes foram inseridos e já tiveram seus nomes alterados, devemos modificar o nome das variáveis. Para modificar o nome das
  • 10.
    variáveis podemos utilizaro menu Propriedades -> Código -> Alterar Nome da Variável, conforme Imagem: MODIFICANDO AS VARIÁVEIS Todos os códigos disponibilizados daqui para frente no site utilizarão a seguinte nomenclatura de variáveis:  para JLabel -> jlNomeVariavel  para JTextField -> jtNomeVariavel ou jtfNomeVariavel  para JButton -> jbNomeVariavel  para JLayeredPane -> jlpNomeVariavel  para JCheckBox -> jcbNomeVariavel ou jcNomeVariavel  para JRadioButton -> jrNomeVariavel ou jrbNomeVariavel  para JList -> jlistNomeVariavel ou jlistaNomeVariavel  para JTable -> jtableNomeVariavel ou jtabelaNomeVariavel  para JComboBox -> jcbNomeVariavel ou jcomboNomeVariavel E VE NTO - JE VE NT Os eventos nós podemos inserir em qualquer componente. Alguns componentes só aceitam eventos específicos, mas no geral a maioria dos componentes aceita a maioria dos eventos. Mas o que é um evento? Um evento é um método no Java que fica "escutando" o que o usuário está fazendo. Quando o usuário faz alguma coisa relacionada com o evento ele dispara realizando algum trecho de código. O simples clicar do usuário em algum botão é um evento. Se o usuário marcar algum botão e apertar enter é outro tipo de evento. O botão pode ser o mesmo, porém os eventos são diferentes. Os eventos mais utilizados são:  Action Performed  Focus Gained
  • 11.
     Focus Lost Focus Gained  Item State Changed  Focus Gained  Key Pressed  Key Released  Mouse Clicked Para inserirmos eventos nos componentes devemos primeiramente marcar os mesmos com o botão esquerdo do mouse. Nesse exemplo você deve marcar o botão cadastrar primeiro e acessar a opção Propriedades -> Eventos, conforme Imagem a seguir: COMO INSERIR OS EVENTOS ATENÇÃO: Ao inserir o evento o Netbeans automaticamente vai mostrar o mesmo criado no código fonte. Para voltar e inserir outro evento devemos clicar na opção "Projeto" novamente. Por padrão devemos inserir 2 eventos, são eles:  Action Performed  Key Pressed A próxima Imagem demonstra como ficaram os 4 eventos inseridos: EVENTOS INSERIDOS
  • 12.
    Agora que jácriamos os eventos, vamos criar 2 métodos que serão chamados dentro desses eventos. Mas porque criar métodos? Esses métodos serão criados para não precisar copiar e colar código de um evento para outro, fazendo com que o software fique "modularizado". A imagem a seguir demonstra como ficaram os 2 métodos criados por nós: CRIANDO OS MÉTODOS PARA CHAMAR NOS EVENTOS
  • 13.
    CHAMANDO OS MÉTODOS NOS E VE NTOS Agora que já criamos os métodos, devemos chamar os mesmos dentro dos métodos, conforme Imagem que segue: CHAMANDO OS MÉTODOS NOS EVENTOS
  • 14.
    E VE NTOK E Y P R E S S E D E O " I F " Note que dentro dos eventos KeyPressed foi inserido um "if". Esse "if" é responsável por testar se realmente o objeto "evt" que entrou no parâmetro do mesmo é "igual" a tecla válida enter(VK_ENTER). Se for igual o evento vai disparar o método chamado dentro do if. ATENÇÃO: Além da tecla Enter, o evento Action Performed também permite que o usuário utilize a "barra de espaço" como padrão ao marcar um botão com o evento.
  • 15.
    P R OG R AM AÇ Ã O Agora vamos pensar em tudo que foi realizado e em qual ordem foi realizado. Esses passos devem ser sempre seguidos:  Criar o JFrame  Inserir os Painéis em Camada  Inserir os componentes que serão utilizados  Renomear o nome dos componentes para que fique bom para o usuário  Renomear o nome das variáveis para que fique bom para nós  Inserir os eventos nos botões  Criar os métodos(manualmente) necessários para cada botão  Chamar os métodos dentro dos eventos  Realizar a programação necessária nos métodos Agora que já entendemos exatamente o que foi realizado, vamos ver como ficou a programação dentro dos métodos: MÉTODO CADASTRAR
  • 16.