A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

  1. import java.awt.*;
  2. import java.awt.event.*;

  3. class JianPanDemo
  4. {
  5.         public static void main(String[] args)
  6.         {                Frame f = new Frame("my awt");
  7.                         f.setSize(500,400);

  8.                         f.setLocation(300,200);
  9.                         f.setLayout(new FlowLayout());
  10.                
  11.                 Button b = new Button("按钮");
  12.                         f.add(b);
  13.                         TextField tf = new TextField(20);
  14.                         f.add(tf);
  15.                         f.setVisible(true);
  16.                         f.addWindowListener(new WindowAdapter(){
  17.                         public void windowClosing(WindowEvent e )
  18.                                 {
  19.                                 System.exit(0);
  20.                         }
  21.                        
  22.                        
  23.                         });
  24.                         tf.addKeyListener(new KeyAdapter(){
  25.                         public void keyPerssed(KeyEvent e)
  26.                                 {        int con = e.getKeyCode();
  27.                                         if(!(con>=KeyEvent.VK_0 && con<= KeyEvent.VK_9))
  28.                                                         System.out.println(con+"shi fei fa de ");
  29.                                        
  30.                                 }
  31.                        
  32.                         });
  33.       }
复制代码

5 个回复

倒序浏览
System.out.println();打印的位置是控制台,所以可能打印在控制台了
如果要打印在应该,tf。append(字符串)
或者tf。TestSet(字符串)
两者也是有区别,append是追加,不会覆盖以前的字符串
Set是清空在打印,会覆盖以前的字符串
回复 使用道具 举报
我帮你改好了,其实我想告诉你,在写代码的时候,很多时候都应该考虑下自己的单词或者是方法有没有写对。改好后可以运行了。然后如果你用的是esclip编写代码,最好在复写方法前面加一个@Override,检验下是不是正确的,我也遇到你这种情况,很难找出来,楼主你要小心啊。
  1. package com.itheima;

  2. import java.awt.*;
  3. import java.awt.event.*;

  4. class JianPanDemo
  5. {
  6.         public static void main(String[] args)
  7.         {                Frame f = new Frame("my awt");
  8.                         f.setSize(500,400);

  9.                         f.setLocation(300,200);
  10.                         f.setLayout(new FlowLayout());
  11.                
  12.                 Button b = new Button("按钮");
  13.                         f.add(b);
  14.                         TextField tf = new TextField(20);
  15.                         f.add(tf);
  16.                         f.setVisible(true);
  17.                         f.addWindowListener(new WindowAdapter(){
  18.                         public void windowClosing(WindowEvent e )
  19.                                 {
  20.                                 System.exit(0);
  21.                         }
  22.                         
  23.                         
  24.                         });
  25.                         tf.addKeyListener(new KeyAdapter() {
  26.                                 @Override   
  27.                                 public void keyPressed(KeyEvent e) {
  28.                                         int con = e.getKeyCode();
  29.                                 if(!(con>=KeyEvent.VK_0 && con<= KeyEvent.VK_9))
  30.                                 System.out.println(con+"shi fei fa de ");
  31.                                                 
  32.                             }
  33.                                 
  34.                                                 });
  35.       }
  36. }
复制代码
回复 使用道具 举报
H._张_♂ 发表于 2014-4-11 17:50
我帮你改好了,其实我想告诉你,在写代码的时候,很多时候都应该考虑下自己的单词或者是方法有没有写对。改 ...

太 感谢了 朋友 我都看了 半天了 也没有 看出来   谢谢
回复 使用道具 举报
if(!(con>=KeyEvent.VK_0 && con<= KeyEvent.VK_9))

                                System.out.println(con+"shi fei fa de ");

这个是控制台输出,如果输入的数字不是0~9   就显示非法。

你可以搞个对话框 让它显示在文本里的  Dialog   和 Lable  好像是这2个。
回复 使用道具 举报
学习代码 发表于 2014-4-11 17:54
太 感谢了 朋友 我都看了 半天了 也没有 看出来   谢谢

不客气,请叫我雷锋。:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马