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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM周磊 中级黑马   /  2013-4-10 19:29  /  1037 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM周磊 于 2013-4-10 19:53 编辑

import java.awt.*;
import java.awt.event.*;
import java.io.*;
class  MyDialogWindow
{
  private Frame f;
  private TextField tf;  //文本框
  private TextArea ta; //文本区
  private Button but;
  private Dialog d;   //对话框,输入错误时弹出。
  private Label l;
  private Button b;
  MyDialogWindow()
  {
    init();
  }
  public void init()
  {
    f = new Frame("山寨微软");
    f.setBounds(300,100,600,450);
    f.setLayout(new FlowLayout());
    tf = new TextField(60);
    but = new Button("转到");
    ta = new TextArea(25,70);
//-----------------------------------------------------------
    d = new Dialog(f,"警告",true);
    d.setBounds(400,200,300,100);
    d.setLayout(new FlowLayout());
    l = new Label();
    b = new Button("确定");
    d.add(l);
    d.add(b);
    f.add(tf);
    f.add(but);
    f.add(ta);
   
    myEvent();
    f.setVisible(true);
  }
  private void myEvent()
  {
    f.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
         System.exit(0);
      }
    });
       b.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
         d.setVisible(false);
      }
    });
    d.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
         d.setVisible(false);
      }
    });
  
    but.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
/*
         String s = tf.getText();
         ta.append(s); 将给定文本追加到文本区的当前文本。
         ta.setText(s);
         tf.setText("");
-----------------------------------------------此时实现了将文本框中的内容输入到文本中。。
*/
         show();
      }
    });
//    通过键盘
    tf.addKeyListener(new KeyAdapter()
    {
      public void keyPressed(KeyEvent e)
      {
        if(e.getKeyCode()==KeyEvent.Vk_ENTER)
          show();
      }
    });
  }
    private void show()
    {
         String str = tf.getText();
//         将文本框中输入的目录封装成一个文件对象,方便对目录进行遍历。
         File dir = new File(str);
         
         if (dir.exists() && dir.isDirectory())
         {
           ta.setText("");
           String[] names = dir.list();
           for (String name : names )
           {
             ta.append(name+"\r\n");
           }
         }
         else
         {
           String s = "~~~~输入信息"+str+"有误,请确认重输~~~~";
           l.setText(s);
           d.setVisible(true);
         }
    }


  public static void main(String[] args)
  {
    new MyDialogWindow();
  }
}

为什么编译失败,VK_ENTER不是常量吗?为什么会找不到!
是我程序有问题?
还是跟版本有关系?我的是java1.7的。毕老师貌似是java1.6的!
高手们,求解??

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

2 个回复

倒序浏览
你把名字写错了,Vk_ENTER的K改成大写就可以了
常量不能有小写
回复 使用道具 举报
郭华章 发表于 2013-4-10 19:44
你把名字写错了,Vk_ENTER的K改成大写就可以了
常量不能有小写

谢谢!!我找了半天都没找到!囧!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马