黑马程序员—GUI(键盘事件)小例子

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

package twenty_two;
import java.awt.*;
import java.awt.event.*;
public class eight {
public static void main(String[] args) {
new key();


}


}
class key//键盘录入
{
//定义该图形中所需的组件引用。
private Frame f;
private Button but;
private TextField tf;
key()
{
init();
}
public void init()
{
f=new Frame("my frame");
f.setBounds(300,100,600,500);//X,Y,长宽。
f.setLayout(new FlowLayout());
but=new Button("myButton");
tf=new TextField(20);
f.add(but);
f.add(tf);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{int code=e.getKeyCode();
if(!(code>=KeyEvent.VK_0  && code<=KeyEvent.VK_9))
{
System.out.println(code+"........这是不和法的");
e.consume();//加这个等作用是不让非法等字符进去。输出类似73........这是不和法的
}
}
});

but.addKeyListener(new KeyAdapter()//键盘监听事件。
{
public void keyPressed(KeyEvent e)
{
//if( e.getKeyCode()==16) //为Shift键
       //if(e.getKeyCode()==KeyEvent.VK_ENTER)//按Enter键结束
//System.exit(0);
   if(e.isControlDown() &&e.getKeyCode()==KeyEvent.VK_ENTER)//按Ctrl+Enter产生效果。
System.out.println("按Ctrl+Enter");
//System.out.println(e.getKeyChar()+"......"+e.getKeyCode());//这个不能输出shift等键
//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"......"+e.getKeyCode());
}
});
}
}

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章