黑马程序员技术交流社区

标题: 这是哪的问题? [打印本页]

作者: HM周磊    时间: 2013-4-10 19:29
标题: 这是哪的问题?
本帖最后由 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的!
高手们,求解??

作者: 绿树林    时间: 2013-4-10 19:44
你把名字写错了,Vk_ENTER的K改成大写就可以了
常量不能有小写
作者: HM周磊    时间: 2013-4-10 19:52
郭华章 发表于 2013-4-10 19:44
你把名字写错了,Vk_ENTER的K改成大写就可以了
常量不能有小写

谢谢!!我找了半天都没找到!囧!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2