import java.awt.*;
import java.awt.event.*;
import java.io.*;
class MyWindowDemo2
{
private Frame f;
private TextField tf;
private Button but;
private TextArea ta;
private Dialog d;
private Label lab;
private Button okBut;
MyWindowDemo2()
{
init();
}
public void init()
{
f = new Frame("my Window");
f.setBounds(300,100,600,500);
f.setLayout(new FlowLayout());
tf = new TextField(40);
but = new Button("转到");
ta = new TextArea(25,70);
d = new Dialog(f,"提示信息-self",true);
d.setBounds(400,200,250,170);
d.setLayout(new FlowLayout());
lab = new Label();
okBut = new Button("确定");
d.add(lab);
d.add(okBut);
f.add(tf);
f.add(but);
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
okBut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
d.setVisible(false); ;//window窗体就隐藏了
}
});
d.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
d.setVisible(false);
}
});
////////////////////////////////////////////////
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_ENTER)
{
showDir();
}
}
});
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
showDir();
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//我想问一下这边为什么是0?我用1,2也可以关闭窗口啊?
}
});
}
private void showDir()
{
String dirPath = tf.getText();
File dir = new File(dirPath);
if( dir.exists() && dir.isDirectory())
{
ta.setText("");
String[] names = dir.list();
for(String name: names)
{
ta.append(name+"\r\n");
}
}
else
{
String info = "您输入的信息:"+dirPath+"是错误的,请重新输入!";
lab.setText(info);
d.setVisible(true);
//tf.setText("你错误了!");
}
}
public static void main(String[] args)
{
new MyWindowDemo2();
}
}
|