1. 程式人生 > >Java的GUI學習九(列出指定目錄內容)

Java的GUI學習九(列出指定目錄內容)

轉載學習來自http://www.cnblogs.com/xingyunblog/p/3869769.html

程式碼:

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
class GUI9 {
	private Frame f;
	private TextField tf;
	private Button but;
	private TextArea ta;
	GUI9(){
		init();
	}
	public void init()
	{
		f = new Frame("Galesaur");//建立窗體物件
		f.setBounds(300,100,600,500);//設定窗體位置和大小
		f.setLayout(new FlowLayout()); //設定窗體佈局為流式佈局
		f.setVisible(true); //設定窗體可見
		
		tf = new TextField(60);//建立單行文字物件60長度大小字元
		but = new Button("轉到");  //建立按鈕物件 
		ta = new TextArea(25,70);//建立多行文字物件25行 70列
		
		f.add(tf); //單行文字新增到窗體上
		f.add(but);//按鈕新增到窗體上
		f.add(ta); //多行文字新增到窗體上
		myEvent();//載入事件處理
	}
	private void myEvent() {
		//按鈕事件監聽器
		but.addActionListener(new ActionListener()
	    {
			public void actionPerformed(ActionEvent e) {
				String dirPath  = tf.getText();//獲取單行文字內容
				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"); //追加文字內容並換行 
				}
			}
		});
		
		//窗體關閉監聽器
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });	
	}
	
	public static void main(String[] args){
        new GUI9();
   }
	
}