Duvidas sobre os exercícios do Capítulo 12!

5 respostas
bvaladao

E aí Turma, sou novo aqui, estou em um estágio na area de desenvolvimento java. Gostaria de saber sobre o exercício 12.16 do capítulo 12 do livro do Deitel quarta edição(como programar java), não to conseguindo fazer.
Alguém tem ele ou pode me dar umas dicas?

5 Respostas

bvaladao

bvaladao:
E aí Turma, sou novo aqui, estou em um estágio na area de desenvolvimento java. Gostaria de saber sobre o exercício 12.16 do capítulo 12 do livro do Deitel quarta edição(como programar java), não to conseguindo fazer.
Alguém tem ele ou pode me dar umas dicas?

T

Posta o exercício.

bvaladao

Se tiverem,Esse é o exercício: Escreva um programa que permita ao usuário desenhar uma forma com o mouse.A forma a ser desenhada deve ser determinada por um KeyEvent que utiliza as seguintes teclas : c desenha um círculo, e desenha uma elipse,r desenha um retangulo e l desenha uma linha.O tamanho e a posição da forma devem ser determinados pelos eventos mousePressed e mouseReleased. Exiba o nome da forma atual em um JLabel na região SOUTH de um borderLayout. A forma inicial default deve ser um círculo.

bvaladao

Então, eu consegui fazer mas as teclas de ação que tem r ou c abrem o desenho, eu gostaria de tratar só a letra especifica

bvaladao

Então, eu consegui fazer mas as teclas de ação que tem r ou c abrem o desenho, eu gostaria de tratar só a letra especifica

eu peguei esse exemplo do deitel e alterei, mas acho que isso ta errado demais:

public class KeyDemo extends JFrame implements KeyListener {//Classe que herda a classe grafica JFrame e

//implementa a interface keylistener que é ouvinte do teclado

private String linha1 = “”,  linha2 = “”;

private String linha3 = “”;

private JTextArea textArea;
public KeyDemo() {

    super("Demonstracao dos eventos do teclado");
    textArea = new JTextArea(10, 15);
    textArea.setText("Digite alguma coisa do teclado.");
    textArea.setEnabled(false);
    getContentPane().add(textArea);

    addKeyListener(this);

    setSize(350, 100);
    setVisible(true);
}

private void setLines2and3(KeyEvent event) {//Esse metodo seta a segunda linha e terceira,verifica se 
    //é uma tecla de ação ou não
    linha2 = "This key is " + (event.isActionKey() ? "" : "not") + " an action key";
    @SuppressWarnings("static-access")

    String temp = event.getKeyModifiersText(event.getModifiers());
    linha3 = "Modifier Keys pressed:" + (temp.equals("") ? "none" : temp);
    textArea.setText(linha1 + "\n" + linha2 + "\n" + linha3 + "\n");


}

public void trataLetra(String linha1) {

    if (linha1.contains("R")) {
        MouseTracker desenha = new MouseTracker();
        desenha.setTipoDesenho("retangulo");
    }
    if (linha1.contains("C")) {
        MouseTracker desenha = new MouseTracker();
        desenha.setTipoDesenho("circulo");
    }
}

public static void main(String args[]) {

    KeyDemo aplicacao = new KeyDemo();
    aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void keyTyped(KeyEvent event) {

    linha1 = "Digitando: " + event.getKeyChar();

    trataLetra(linha1);
    setLines2and3(event);
}

@SuppressWarnings("static-access")
public void keyPressed(KeyEvent event) {
    linha1 = "Tecla Pressionada: " + event.getKeyText(event.getKeyCode());

    trataLetra(linha1);

    setLines2and3(event);
}

@SuppressWarnings("static-access")
public void keyReleased(KeyEvent event) {
    linha1 = "Tecla Liberada: " + event.getKeyText(event.getKeyCode());
    trataLetra(linha1);

    setLines2and3(event);
}

}

Criado 24 de julho de 2008
Ultima resposta 24 de jul. de 2008
Respostas 5
Participantes 2