---------------------------------------- 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+"\r\n");
}
}
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培訓、期待與您交流! ------------------------------------