10.JAVA之GUI编程弹出对话框Dialog

在上节基础上添加对话框显示错误信息。

代码如下:

/*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体。*/

/*练习-列出指定目录内容*/

import java.awt.Button;

import java.awt.Dialog;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.Label;

import java.awt.TextArea;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.File;



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("by 星云");// 创建窗体对象

        f.setBounds(300, 100, 600, 500);// 设置窗体位置和大小

        f.setLayout(new FlowLayout());// 设置窗体布局为流式布局



        tf = new TextField(60);// 创建单行文本对象60长度大小字符



        but = new Button("转到");// 创建按钮对象



        ta = new TextArea(25, 70);// 创建多行文本对象25行,70列



        d = new Dialog(f, "提示信息-self", true);//弹出的对话框

        d.setBounds(400, 200, 350, 150);//设置弹出对话框的位置和大小

        d.setLayout(new FlowLayout());//设置弹出对话框的布局为流式布局

        lab = new Label();//创建lab标签填写提示内容

        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);

            }



        });



        //文本框兼容器

        tf.addKeyListener(new KeyAdapter() {

            public void keyPressed(KeyEvent e) {

                if (e.getKeyCode() == KeyEvent.VK_ENTER)//如果按下回车键执行showDir()功能函数

                    showDir();//调用功能函数

            }



        });



        // 对话框监听器

        d.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {



                d.setVisible(false);//设置对话框不可见



            }



        });



        // 按钮事件监听器

        but.addActionListener(new ActionListener() {



            public void actionPerformed(ActionEvent e) {

                showDir();

            }



        });

        // 窗体关闭监听器

        f.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

                System.exit(0);



            }



        });



    }



    //showDir()功能函数

    private void showDir(){

        String dirPath = tf.getText();// 获取单行文本内容保存到字符串dirPath中

        File dir = new File(dirPath);// 将字符串dirPath封装成文件



        // 如果文件存在,而且是个目录执行下列操作

        if (dir.exists() && dir.isDirectory()) {

            ta.setText(null);// 没打开一个目录前清空多行文本内容

            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) {



        new MyWindowDemo();

    }



}

10.JAVA之GUI编程弹出对话框Dialog

10.JAVA之GUI编程弹出对话框Dialog

上篇:9.JAVA之GUI编程列出指定目录内容                  下篇:   11.JAVA之GUI编程菜单

你可能感兴趣的:(dialog)