elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  KeyListener Problema sin modificar el código en ocasiones va y viene !!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: KeyListener Problema sin modificar el código en ocasiones va y viene !!!  (Leído 2,878 veces)
lluvplay

Desconectado Desconectado

Mensajes: 27



Ver Perfil
KeyListener Problema sin modificar el código en ocasiones va y viene !!!
« en: 19 Abril 2012, 14:56 pm »

Buenas tardes expertos, amigos, compañeros o como pueda llamarlos.

Mi problema es que me estoy relacionando con la clase KeyListener de Java todo marchaba de maravilla hasta que me di cuenta que sin modificar mi codigo el programa entraba al metodo KeyPressed en algunas ocasiones y en otras no.

Espero me puedan ayudar.

De ante mano agradezco a todo aquel que siempre este interesado en ayudar a todo tipo de persona.
Código:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.*;


public class principal extends JFrame implements KeyListener{

/**
* @param args
*/
JButton bsalir;
mipanel ob= new mipanel();
JButton blinea;
public principal()
{
this.setSize(270,360);
this.setLocation(100,100);
this.setVisible(true);
this.setTitle("Ventana 1");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.addKeyListener(this);
this.setLayout(null);
bsalir = new JButton("Salir");
bsalir.setBounds(5, 260, 100, 40);
blinea= new JButton("DibujarLinea");
blinea.setBounds(105,260,150,40);
this.add(ob);
this.add(blinea);
this.add(bsalir);
/////////////////////////////////////
///////////////////////////////////
//////////accion de los botones////
bsalir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"Chao...!");
System.exit(0);

}});
blinea.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e)
{
ob.repintar();
}});

}//fin del construcctor


public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
principal obj= new principal();
}
public int tec=1 ;
//////////////////// metodos para implementar el teclado
public void keyPressed(KeyEvent e) {
tec = e.getKeyCode();
System.out.println("codigo"+tec);
ob.repintar();
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent arg0) {}
///////////////////////////////////////////
}//fin de la clase principal


class mipanel extends JPanel
{
boolean linea=true;
public mipanel()
{
this.setBackground(Color.black);
this.setSize(200,200);
this.setLocation(20,20);
}
// metodo de pintar mi Panel
public void paint (Graphics g)
{
Dimension  tam = this.getSize();
    g.setColor(Color.WHITE);
    g.fillRect(0,0,tam.width,tam.height);
g.setColor(Color.red);
if (!linea)
g.drawLine(0, 0, 100, 100);
else
g.drawString("No hay una linea", 0, 100);
}
/// mi meto de repintar
public void repintar()
{
if (linea==true)
linea =false;
else
linea=true;
repaint();
}

}

de ante mano digo que ignoren el boton dibujar linea que ese si me llama al metodo repintar;
Mi objetivo es que si toco las teclas arriba, abajo, derecha e izquierda tambien llamen al metodo repintar como se puede ver en la linea de codigo siguiente :
Citar
public void keyPressed(KeyEvent e) {
       tec = e.getKeyCode();
       System.out.println("codigo"+tec);
       ob.repintar();
   }
   public void keyReleased(KeyEvent e) {}
   public void keyTyped(KeyEvent arg0) {}

Gracias por su tiempo


En línea

* Determinismo Causal !! Estamos Programados Para Necesitar Respuestas!!

* No deberías copiar un código, sin antes haber comprendido porque funciona de esa manera !
lluvplay

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: KeyListener Problema sin modificar el código en ocasiones va y viene !!!
« Respuesta #1 en: 19 Abril 2012, 18:12 pm »

Hola muchachos !!!Gracias por su aporte pero ya tengo el problema resuelto !!! el problema esque se incia en el ultimo boton declarado !!! entonces solo tengo que poner al final del constructor
Citar
setFocusable(true);

Noc si como esta resuelto tengo que borrar el post o que tengo que hacer alguien q me comunique porfavor


En línea

* Determinismo Causal !! Estamos Programados Para Necesitar Respuestas!!

* No deberías copiar un código, sin antes haber comprendido porque funciona de esa manera !
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
KeyListener Jpanel
Java
mapers 1 1,720 Último mensaje 28 Abril 2014, 01:26 am
por ThinkByYourself
Problema al modificar. « 1 2 »
Ingeniería Inversa
Raulciño 14 6,233 Último mensaje 6 Marzo 2015, 02:56 am
por Raulciño
Uso del KeyListener
Java
m@o_614 0 1,701 Último mensaje 27 Agosto 2015, 22:50 pm
por m@o_614
Mi pc no enciende en ocasiones.
Hardware
horacio_56 7 6,751 Último mensaje 29 Abril 2021, 22:19 pm
por Machacador
Mi pc se reinicia en ocasiones singulares « 1 2 »
Hardware
Yashakun 15 9,942 Último mensaje 21 Septiembre 2022, 03:07 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines