Você está na página 1de 4

Materia: Programao Orientada a Objetos com Java Prof.

*** Exerccios para laboratrio - 01 ***


Exerccio 1 - Primeiro Programa: Imprime na tela: "Oi pessoal, tudo bem?". necessrio criar um arquivo com o mesmo nome da classe e extenso .java. Para execuo em linha de comando, primeiramente compilar C:\pasta\javac Prog01.java e em seguida executar C:\pasta\java Prog01.
public class Prog01 { public static void main(String[] args) { System.out.println("Oi pessoal, tudo bem?"); } }

Exerccio 2 Substitua a String Oi pessoal, tudo bem por args[0], e digite na linha de comando C:\pasta\java Prog01 Oi pessoal, tudo bem?. No JCreator este parmetro dever ser configurado no menu run opo Runtime Configuration. Duplo clique no item <default> e no Edit Box Main(...) digite o parmetro (se o parmetro tiver espao no meio dever vir entre aspas). Esta a classe Prog02, portanto o arquivo dever ser o Prog02.java.
public class Prog02 { public static void main(String[] args) { System.out.println(args[0]); } }

Exerccio 3 Tratamento de erros com try ... catch. Se no for fornecido nenhum argumento, o programa emitir uma mensagem de erro.
public class Prog03 { public static void main(String[] args) { try { System.out.println(args[0]); } catch (Exception exc) { System.out.println("ARGUMENTO NO FORNECIDO"); } } }

Exerccio 4 Utilizando o servio de outra classe: escreva a classe Util que presta os servios. No caso existem dois mtodos, o soma e o menos. A classe que usar esses servios de clculo se chamar Prog04.
public class Util { public static int soma(int a, int b) { int resultado = a + b; return resultado; } public static int menos(int a, int b){ int resultado = a - b; return resultado; } } public class Prog04 { public static void main(String[] args) { int numero1 = Integer.parseInt(args[0]); int numero2 = Integer.parseInt(args[1]); int soma1e2 = Util.soma(numero1,numero2); int menos1e2 = Util.menos(numero1,numero2); System.out.println("Numero 1 + Numero 2 = " + soma1e2); System.out.println("Numero 1 - Numero 2 = " + menos1e2); } }

Exerccio 5 GUI Graphical User Interface Utilizando o pacote AWT. Criando uma aplicao em janela grfica com a classe Frame.
import java.awt.Frame; public class Prog05 { public static void main(String[] args) { Frame j1 = new Frame(); j1.show(); } }

Exerccio 5a Configurando a janela: ttulo, tamanho, posio na tela.


import java.awt.Frame; public class Prog05a { public static void main(String[] args) { Frame j1 = new Frame(); j1.show(); j1.setSize(400,300); j1.setLocation(100,50); j1.setTitle("Janela com largura 400 pontos e altura 300 pontos; posicionada 100 pontos a direita e 50 abaixo"); }

Exerccio 6 inserindo tratamento de eventos.


import import import import java.awt.Frame; java.awt.event.WindowAdapter; java.awt.event.WindowListener; java.awt.event.WindowEvent;

public class Prog06 { public static void main(String[] args) { Frame j1 = new Frame(); j1.show(); j1.setSize(400,300); j1.setLocation(100,50); j1.setTitle("Janela com largura 400 pontos e altura 300 pontos; posicionada 100 pontos a direita e 50 abaixo"); WindowListener wl = new WindowAdapter() { public void windowClosing(WindowEvent e) { System.out.println("Janela foi fechada. Aplicao encerrada"); System.exit(0); } public void windowIconified(WindowEvent e) { System.out.println("Janela foi minimizada"); } public void windowDeiconified(WindowEvent e) { System.out.println("Janela foi restaurada"); } }; j1.addWindowListener(wl); } }

Exerccio 7 Adicionando 3 botes janela. No exerccio anterior acrescente no incio do cdigo a clusula import referente classe do boto. import java.awt.Button; Ao final de todo o cdigo, aps j1.addWindowListener(wl);, acresente o cdigo abaixo:
j1.setLayout(null); Button botao1 = new Button(); botao1.setLabel("Boto 1"); j1.add(botao1); botao1.setBounds(50,50,70,50); Button botao2 = new Button(); botao2.setLabel("Boto 2");

j1.add(botao2); botao2.setBounds(150,50,70,50); Button botao3 = new Button(); botao3.setLabel("Boto 3"); j1.add(botao3); botao3.setBounds(250,50,70,50);

Exerccio 8 Adicionar um controle de eventos ao boto 1. Ao final de todo o cdigo incluir:


botao1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { j1.setTitle("Boto 1"); } });

Para que este cdigo funcione necessrio alterar a declarao da janela (Frame) incluindo o qualificador final: final Frame j1 = new Frame(); Repita este bloco de instrues para os botes 2 e 3. Exerccio 9 Adicionar dois campos de texto (TextField) para termos condies de entrar com dados pela tela. O Objeto Label o que d a identificao do campo de tela ao usurio do sistema. necessrio acrestar as clusulas import referente a esses dois componentes: import java.awt.TextField; import java.awt.Label; Ao final do cdigo anterior acrescente:
TextField txt1 = new TextField(); j1.add(txt1); txt1.setBounds(50,150,70,20); Label lbl1 = new Label(); j1.add(lbl1); lbl1.setText("Campo A"); lbl1.setBounds(50,135,75,15); TextField txt2 = new TextField(); j1.add(txt2); txt2.setBounds(50,200,70,20); Label lbl2 = new Label(); j1.add(lbl2); lbl2.setText("Campo B"); lbl2.setBounds(50,185,75,15);

A esta altura do trabalho devemos ter chegado a uma tela com a seguinte aparncia:

A manipulao de objetos de dentro de um mtodo static, como o caso da main, bastante engessada. No podemos nos referenciar a nada fora do mtodo que no seja static tambm (ou final), nos obrigando a escrever todo o programa dentro do mtodo main. Para nos desembaraarmos desta limitao, vamos transferir o cdigo da janela para uma outra classe que ser instanciada como objeto e que teremos outras possibilidades no fluxo do nosso programa.

Você também pode gostar