---------------------------------------- android培训、java培训、期待与您交流! ------------------------------------
需求:创建窗体,列出硬盘上指定文件夹的内容,如果该目录不存在,则弹出对话框,提示用户错误
主要涉及到的知识点:
1,需要用到窗体的基本知识Frame的配置,
2,文本框和文本区域,TextField & TextArea
3,对话框Dialog
4,各组件对应的监听器,内部类
5,IO流
实现过程:
import java.awt.*; import java.awt.event.*;//事件包 import java.io.*; class MyWindow { private Frame f;//窗体组件 private Button but; private TextField tf; private TextArea ta; private Dialog d;//对话框组件 private Label lab; private Button okBut; MyWindow(){ init(); } public void init() { f = new Frame("My Window");//窗体组件 f.setBounds(300,200,600,400); f.setLayout(new FlowLayout()); tf = new TextField(60);//文本框 but = new Button("转到");//按钮 ta = new TextArea(20,78);//文本区域 d = new Dialog(f,"提示信息",true);//对话框,类似于窗体,是与窗体关联的触发机制 d.setBounds(300,200,350,150); d.setLayout(new FlowLayout()); lab = new Label(); okBut = new Button("OK"); d.add(lab); //添加对话框组件 d.add(okBut); f.add(tf);//添加窗体组件 f.add(but); f.add(ta); myEvent(); f.setVisible(true); } private void myEvent() { but.addActionListener(new ActionListener(){//文本框和文本区域监听处理 public void actionPerformed(ActionEvent e){ showDir(); } }); f.addWindowListener(new WindowAdapter(){//窗体事件,关闭 public void windowClosing(WindowEvent e){ System.exit(0); } }); tf.addKeyListener(new KeyAdapter(){//文本框键盘监听,Enter,同按钮功能 public void keyPressed(KeyEvent e){ if(e.getKeyCode() == KeyEvent.VK_ENTER) showDir(); } }); d.addWindowListener(new WindowAdapter(){ //对话框事件,关闭对话框 public void windowClosing(WindowEvent e){ tf.setText(""); d.setVisible(false);//点击后隐藏窗体 } }); okBut.addActionListener(new ActionListener(){//对话框的按钮事件监听,点OK按钮退出对话框 public void actionPerformed(ActionEvent e){ d.setVisible(false); } }); } 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+" "); } } else{//如果不存在,或者不是目录 String info = "没有找到路径:"+dirPath+" 请重新输入"; lab.setText(info);//设置标签内容 d.setVisible(true);//当不满足条件时才弹出对话框 } } public static void main(String[] args) { new MyWindow(); } }
运行效果:
Dialog对话框:
在触发某一事件时弹出对话框提醒用户
创建时需要关联窗体,方法与窗体类似可以添加按钮,设置标签Label,通过setVisible(boolean b);来控制弹出和消失
---------------------------------------- android培训、java培训、期待与您交流! ------------------------------------