Tjek af keyboard indtastning
Jeg har lavet et lille java program, for at lære lidt mere om java.Jeg har fået mouseinput til at virke men jeg kan ikke få keyboardinput til at virke.
Dette er min kode forløbig:
public class JFrame extends javax.swing.JFrame {
public JFrame() {
initComponents();
}
private void initComponents() {
panel = new javax.swing.JPanel();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
panel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
tegn(evt);
}
});
panel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
drag(evt);
}
});
panel.addKeyListener(new java.awt.event.KeyListener() {
public void keyReleased(java.awt.event.KeyEvent evt){
key(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt){
key(evt);
}
public void keyPressed(java.awt.event.KeyEvent evt) {
key(evt);
}
});
getContentPane().add(panel, java.awt.BorderLayout.CENTER);
pack();
}
private void drag(java.awt.event.MouseEvent evt) {
int q = evt.getX();
int w = evt.getY();
}
private void key(java.awt.event.KeyEvent evt) {
if (evt.KEY_TYPED == 'a')
{
dddd += 0.01;
}
else if (evt.KEY_TYPED == 's')
{
dddd -= 0.01;
}
System.out.println("hej");
g = panel.getGraphics();
g2 = (java.awt.Graphics2D)g;
double tempx, tempy;
int r = 100;
tempx = ((java.lang.Math.sin(i)*r)+300);
tempy = (300-(java.lang.Math.cos(i)*r));
System.out.println(tempx);
System.out.println(tempy);
g2.drawLine(300 , 300, (int)tempx, (int)tempy);
}
private void tegn(java.awt.event.MouseEvent evt) {
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
new JFrame().show();
}
private javax.swing.JPanel panel;
private java.awt.Graphics g;
private java.awt.Graphics2D g2;
private int x, y;
private int i,j;
private double dddd;
}
mit spørgsmål er følgende:
Der sker umiddelbart ikke noget ved tastaturintastninger. hvilke ændringer skal der til i kode for at det kommer til at virker?
