Foros del Web » Programación para mayores de 30 ;) » Java »

Teclado Virtual

Estas en el tema de Teclado Virtual en el foro de Java en Foros del Web. Hey! soy nuevo en este foro pero de verdad ocupo ayuda con este codigo que es para hacer un teclado virtual. Les explico, el teclado ...
  #1 (permalink)  
Antiguo 01/03/2012, 21:31
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Exclamación Teclado Virtual

Hey! soy nuevo en este foro pero de verdad ocupo ayuda con este codigo que es para hacer un teclado virtual.
Les explico, el teclado lo tengo que hacer en un componente, ya tengo lo qe es la parte visual con iconos que son archivos png, por lo tanto los "botones" no son Jbutton si no imagenes insertadas.
El problema que tengo es que no se como hacer que escriba dentro de un textfield, passwordfield o textarea.

Les paso los codigos que tengo son 3:


EL PRIMERO

import java.awt.*;
import java.awt.event.*;


public class tecladoLienzo extends Canvas implements MouseListener {
teclas iconos[][];
String nomImagenes[][] = {
{"q.png","","Shift - Up.png"},
{"w.png","a.png","z.png"},
{"e.png","s.png","x.png"},
{"r.png","d.png","c.png"},
{"t.png","f.png","v.png"},
{"y.png","g.png","b.png"},
{"u.png","h.png","n.png"},
{"i.png","j.png","m.png"},
{"o.png","k.png",",.png"},
{"p.png","l.png","..png"},
{"é.png","ñ.png","Qu.png"},
{"Backspace.png","á.png","Enter.png"},
};

int r=3,c=12;

public tecladoLienzo(){
iconos = new teclas[c][r];// solo se crean celdillas pero estan sin memoria
for(int i=0; i<c; i++)
for(int j=0; j<r; j++)
iconos[i][j]= new teclas(nomImagenes[i][j],i,j);

addMouseListener(this);
}

@Override
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.setColor(new Color(131,130,130,100));//Color(R,G,B,Transparency)
g2.fillRoundRect(20, 10, 522, 179, 20, 20);
g2.setColor(new Color(120,120,120,100));
g2.drawRoundRect(20, 10, 522, 179, 20, 20);
for(int i=0; i<c;i++)
for(int j=0; j<r;j++)
iconos[i][j].pintar(this);

}

@Override
public void mouseClicked(MouseEvent me) {
for(int i=0; i<r;i++)
for(int j=0; j<c;j++)
if(iconos[0][0].estaEnArea(me.getPoint()))
System.out.println("se presiono el icono de la posicipon: "+i+","+j);

}

@Override
public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {

}

@Override
public void mouseEntered(MouseEvent e) {

}

@Override
public void mouseExited(MouseEvent e) {

}
}






EL SEGUNDO

import java.awt.*;

public class teclas {

Image imagen;
int x,y;
int indice,i;

public teclas(String nomArchivo, int posx, int posy){
imagen =Toolkit.getDefaultToolkit().createImage(nomArchiv o);
y=40+(47*posy);
x = 30+(47*posx);
}
public void pintar(Canvas f){
Graphics g = f.getGraphics();
g.drawImage(imagen, x, y, f);
}

public boolean estaEnArea(Point datosMouse){
if((datosMouse.x >= x) && (datosMouse.x <= (x+imagen.getWidth(null)))){
if(datosMouse.y >= y && datosMouse.y <= (y+imagen.getHeight(null)))
return true;
}

return false;
}


}




EL TERCERO

public class teclado2 extends javax.swing.JPanel {
tecladoLienzo tec=new tecladoLienzo();
tecladoLienzo teclado;
/** Creates new form teclado2 */
public teclado2() {
initComponents();
tec.setSize(700, 700);
tec.setLocation(10, 10);
add(tec);

}


@SuppressWarnings("unchecked")

private void initComponents() {

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGap(0, 690, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
}




}

Etiquetas: string, teclado, virtual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:14.