JAVA GUI(列出指定目录内容)

来源:互联网 发布:女装品牌简约知乎 编辑:程序博客网 时间:2024/05/16 12:53


//仅作为学习笔记

源码

// GUI 练习  列出指定目录import java.awt.*;import java.awt.event.*;import java.io.*;class MyWindowDemo{private Frame f;private TextField tf;private Button but;private TextArea ta;private Dialog d;private Label lab;private Button okBut;MyWindowDemo(){init();}public void init(){ f = new Frame("my window"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); tf = new TextField(63); but =  new Button("转到"); ta = new TextArea(25,70);//设置行数和列数d = new Dialog(f,"提示信息",true);d.setBounds(400,200,240,150);d.setLayout(new FlowLayout());lab = new Label();okBut = new Button("确定"); f.add(tf); f.add(but); f.add(ta);d.add(lab);d.add(okBut); myEvent(); f.setVisible(true);}private void myEvent(){okBut.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){d.setVisible(false);}});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);}});}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){//setText该方法只会输出最后一个目录 因为后面的覆盖前面的//ta.setText(name + "\r\n");ta.append(name + "\r\n");//将给定文本追加到文本区的当前文本}}else{String info = "系统无法找到" +tf.getText() + "请从新输入!";lab.setText(info);d.setVisible(true);}tf.setText("");}public static void main(String []args){new MyWindowDemo();}}