11 Feb '20 20:44>4 edits
Any java experts here?
I tried to for SEVERAL HOURS to post this question on ANY java forum but each time I just couldn't get past the registration for the forum and gave up in despair but now decided to try my luck here despite this being not a java forum;
When I run this program, why is this keyReleased method never called when I press a key?
I cannot ever seem to get any Java program to allow user keyboard input via keyReleased method call.
When I run this program, when I press keys on my keyboard I find nothing is printed in System.out
thus indicating the keyReleased method is never called!
Any help would be greatly appreciated.
import javax.swing.*;
import java.awt.Color;
import java.awt.event.*;
public class Testing extends JPanel{
public static void main(String[] args) {
Testing panel = new Testing();
panel.setBackground(Color.WHITE);
JFrame frame = new JFrame("Testing" );
frame.add(panel);
frame.setBounds(40, 60, 300, 300);
frame.setVisible(true);
frame.setFocusable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.addKeyListener(new Key_listener());
panel.setVisible(true);
panel.setFocusable(true); //-so the key listener can detect and respond to key release.
}// end of main method.
static class Key_listener extends KeyAdapter{
@Override
public void keyReleased(KeyEvent e) {
System.out.println(" keyReleased on char: " + e.getKeyChar() );
}// end of keyReleased method.
} // end of Key_listener inner-class.
} // end of Testing class.
I tried to for SEVERAL HOURS to post this question on ANY java forum but each time I just couldn't get past the registration for the forum and gave up in despair but now decided to try my luck here despite this being not a java forum;
When I run this program, why is this keyReleased method never called when I press a key?
I cannot ever seem to get any Java program to allow user keyboard input via keyReleased method call.
When I run this program, when I press keys on my keyboard I find nothing is printed in System.out
thus indicating the keyReleased method is never called!
Any help would be greatly appreciated.
import javax.swing.*;
import java.awt.Color;
import java.awt.event.*;
public class Testing extends JPanel{
public static void main(String[] args) {
Testing panel = new Testing();
panel.setBackground(Color.WHITE);
JFrame frame = new JFrame("Testing" );
frame.add(panel);
frame.setBounds(40, 60, 300, 300);
frame.setVisible(true);
frame.setFocusable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.addKeyListener(new Key_listener());
panel.setVisible(true);
panel.setFocusable(true); //-so the key listener can detect and respond to key release.
}// end of main method.
static class Key_listener extends KeyAdapter{
@Override
public void keyReleased(KeyEvent e) {
System.out.println(" keyReleased on char: " + e.getKeyChar() );
}// end of keyReleased method.
} // end of Key_listener inner-class.
} // end of Testing class.