我用键盘监听面板,代码如下:import java.awt.event.*;
import java.awt.*;
import javax.swing.*;public class KeyTest {
public static void main(String args[]){
JFrame f = new myFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class myFrame extends JFrame{
private final int DEFAULT_WIDTH = 400;
private final int DEFAULT_HEIGHT = 400;
public myFrame(){
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
myPanel p = new myPanel();
p.requestFocus();
setLayout(new BorderLayout());
add(p, BorderLayout.CENTER);
}
}
class myPanel extends JPanel{
public myPanel(){
this.addKeyListener(new myKeyListener());
}
private class myKeyListener implements KeyListener{ public void keyTyped(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("----------------");
}
} public void keyPressed(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
} public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
}当我按向上键时却得不到--------------的响应,好久都没相通,哪位能指出并改正,不胜感激
期待您的回复
import java.awt.*;
import javax.swing.*;public class KeyTest {
public static void main(String args[]){
JFrame f = new myFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class myFrame extends JFrame{
private final int DEFAULT_WIDTH = 400;
private final int DEFAULT_HEIGHT = 400;
public myFrame(){
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
myPanel p = new myPanel();
p.requestFocus();
setLayout(new BorderLayout());
add(p, BorderLayout.CENTER);
}
}
class myPanel extends JPanel{
public myPanel(){
this.addKeyListener(new myKeyListener());
}
private class myKeyListener implements KeyListener{ public void keyTyped(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("----------------");
}
} public void keyPressed(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
} public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
}当我按向上键时却得不到--------------的响应,好久都没相通,哪位能指出并改正,不胜感激
期待您的回复
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;public class KeyTest {
public static void main(String args[]) {
JFrame f = new myFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}class myFrame extends JFrame {
private final int DEFAULT_WIDTH = 400; private final int DEFAULT_HEIGHT = 400; public myFrame() {
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
myPanel p = new myPanel();
p.requestFocus();
setLayout(new BorderLayout());
add(p, BorderLayout.CENTER);
}
}class myPanel extends JTextArea {
public myPanel() {
this.addKeyListener(new myKeyListener());
} private class myKeyListener implements KeyListener { public void keyTyped(KeyEvent e) {
} public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("----------------");
}
// throw new UnsupportedOperationException("Not supported yet.");
} public void keyReleased(KeyEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
}
}
}
所以要extends JPanel,但是没有触发事件,
哪位高手躬亲示范一下,不胜感激
import java.awt.*;
import javax.swing.*;public class KeyTest {
public static void main(String args[]){
JFrame f = new myFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class myFrame extends JFrame{
private final int DEFAULT_WIDTH = 400;
private final int DEFAULT_HEIGHT = 400;
public myFrame(){
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
myPanel p = new myPanel();
p.requestFocus();
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p, BorderLayout.CENTER);
}
}
class myPanel extends JPanel implements KeyListener {
public myPanel(){
addKeyListener(this);
}
public boolean isFocusTraversable() {
return true;
}
public void keyTyped(KeyEvent e) {
} public void keyPressed(KeyEvent e) {
System.out.println(e.getKeyChar()+"----------------"+e.getKeyCode());
if(e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("U pressed UP");
}
//throw new UnsupportedOperationException("Not supported yet.");
} public void keyReleased(KeyEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
}