本帖最后由 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的!
高手们,求解??
|