package com.mygui;import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;import javax.swing.JFrame;
class MyFrame extends JFrame{
private static final long serialVersionUID = 1L;
TextField text1=new TextField(30);
public MyFrame(){
super("测试窗口");
add(new Label("按下键盘"),BorderLayout.NORTH);
add(new Button("我的按怒"),BorderLayout.SOUTH);
//add(text1,BorderLayout.SOUTH);
this.addKeyListener(
new KeyAdapter(){
public void keyPressed(KeyEvent e){
int i=e.getKeyCode();
System.out.println("i="+i);
if(i == KeyEvent.VK_UP ){
System.out.println("按下了上箭头键");
}
if(i == KeyEvent.VK_DOWN){
System.out.println("按下了下箭头键");
}
}
}
);
pack();
setVisible(true);
}
}
public class MyKeyEventTest {
public static void main(String[] args) {
MyFrame t= new MyFrame();
}}
去掉 add(new Button("我的按怒"),BorderLayout.SOUTH);
add(text1,BorderLayout.SOUTH); 这两行代码,按下键盘的方向键 "上"和"下" 就有反应,能够正常输出,为什么添加后,没反应呢??
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;import javax.swing.JFrame;
class MyFrame extends JFrame{
private static final long serialVersionUID = 1L;
TextField text1=new TextField(30);
public MyFrame(){
super("测试窗口");
add(new Label("按下键盘"),BorderLayout.NORTH);
add(new Button("我的按怒"),BorderLayout.SOUTH);
//add(text1,BorderLayout.SOUTH);
this.addKeyListener(
new KeyAdapter(){
public void keyPressed(KeyEvent e){
int i=e.getKeyCode();
System.out.println("i="+i);
if(i == KeyEvent.VK_UP ){
System.out.println("按下了上箭头键");
}
if(i == KeyEvent.VK_DOWN){
System.out.println("按下了下箭头键");
}
}
}
);
pack();
setVisible(true);
}
}
public class MyKeyEventTest {
public static void main(String[] args) {
MyFrame t= new MyFrame();
}}
去掉 add(new Button("我的按怒"),BorderLayout.SOUTH);
add(text1,BorderLayout.SOUTH); 这两行代码,按下键盘的方向键 "上"和"下" 就有反应,能够正常输出,为什么添加后,没反应呢??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货