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?
Duvidas sobre os exercícios do Capítulo 12!
5 Respostas
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?
Posta o exercício.
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.
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
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);
}
}