论坛首页 Java企业应用论坛

FileDialog vs JFileChooser (給新手)

浏览 5266 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-21  

FileDialog vs JFileChooser


給新手的,知道不要罵,還是有人不知道的

上網見有人問 JFileChooser 可否改變重寫改變外觀~
都怪它太醜了~~

教學一般只教JFileChooser 去取得文件路徑,
雖然說讓java在不同平台有統一的界面, 但真的不好看~~

其實在awt都有一個可以取得文件路徑的方法, 
但他不是產生一個統一的swing界面,而是調用你現有使用系統的界面

而且取得的結果路徑是一致的

做了一個小程式.....
 

import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;



public class test extends JFrame implements ActionListener{
	JButton jb,jb2;
	
	public static void main(String[] args) {
		test test=new test();

	}
	public test(){
	
		jb=new JButton("FileDialog");
		   jb.addActionListener(this);
		jb2=new JButton("JFileChoose");
		    jb2.addActionListener(this);
		    
		this.add(jb,BorderLayout.NORTH);
		this.add(jb2,BorderLayout.SOUTH);
		this.setVisible(true);
		this.setSize(130,100);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	String Filename=null;
	
	public void Open(){ 
		FileDialog fd = new FileDialog(this, "FileDialog", FileDialog.LOAD); 
	fd.setVisible(true); 
	if(fd!=null){ 
		Filename=fd.getDirectory() +fd.getFile(); 
		System.out.println("FileDialog---->"+Filename);
	}
	}
	
	public void JFile(){
		JFileChooser jfc=new JFileChooser();
		jfc.setDialogTitle("JFileChooser");
		int result = jfc.showOpenDialog(this); 
		if (result == JFileChooser.APPROVE_OPTION) {
		Filename=jfc.getSelectedFile().getAbsolutePath();		
		System.out.println("JFileChooser---->"+Filename);
		}

	}
	
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		if(arg0.getSource()==jb){
		Open();
		}
		else if(arg0.getSource()==jb2){
		JFile();
		}
	}
	
}


 


my weibo:
http://weibo.com/1741914345

  • 大小: 38.1 KB
  • 大小: 60.3 KB
  • 大小: 14.2 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics