GUI(练习-列出指定目录内容 )的升级版 有对话框Dialog
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:GUI(练习-列出指定目录内容 有对话框Dialog) * 作 者:薛广晨 * 完成日期:2011 年 09 月 20 日 * 版 本号:x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */package xue;import java.awt.*;import java.awt.event.*;import java.io.File;public class MyDiaglog {/** * @param args */private Frame f;private TextField tf;private Button but;private TextArea ta;private Dialog d;private Label lab;private Button okBut;MyDiaglog(){init();}public void init(){f = new Frame("my window");f.setBounds(300, 100, 600, 500);f.setLayout(new FlowLayout());tf = new TextField(60);but = new Button("转到");ta = new TextArea(25, 70);d = new Dialog(f, "提示信息——self", true);d.setBounds(400, 200, 240,150);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() {// TODO Auto-generated method stubd.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){d.setVisible(false);}});okBut.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent 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() {// TODO Auto-generated method stubString 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);}}public static void main(String[] args) {// TODO Auto-generated method stubnew MyDiaglog();}}
运行结果:
