Java如何做出好看的本地文件选择器

Java如何做出好看的本地文件选择器,第1张

更改一下外观为windows的:

if(UIManager.getLookAndFeel().isSupportedLookAndFeel()){

final String platform = UIManager.getSystemLookAndFeelClassName()

// If the current Look &Feel does not match the platform Look &Feel,

// change it so it does.

if (!UIManager.getLookAndFeel().getName().equals(platform)) {

try {

UIManager.setLookAndFeel(platform)

} catch (Exception exception) {

exception.printStackTrace()

}

}

}

如果不需要文件过滤可以选择 FileDialog来打开文件,这个是调用 *** 作系统的文件筐打开文件的,但是在window下实现不了文件过滤,其他系统下可以。如果用JFileChoose可以很容易实现,文件过滤,但是界面默认是java外观。如果要好看,可以设置一下显示外观。

我猜你应该是用了一个JFileChooser对象吧,其中有一个方法叫changeToParentDirectory()方法,该方法会将目录调整到当前目录的父目录,比如说C盘或者D盘,另外还有一个方法叫setCurrentDirectory(File file)方法,这个方法可以直接指定当前目录应该从哪开始。

JFileChooser choose = new JFileChooser()

// 使用父目录

choose.changeToParentDirectory()

choose.showOpenDialog(null)

//使用指定目录

choose.setCurrentDirectory(new File("D:/Java"))

choose.showOpenDialog(null)

希望能帮到您。

引用连接:http://zhidao.baidu.com/question/413947089.html

Java里的文件选择器是方便用户在硬盘上选择文件的,这里有个程序你可以看一下,就知道文件选择器怎么用了。

import java.awt.*

import javax.swing.*

import javax.swing.colorchooser.ColorSelectionModel

import javax.swing.event.ChangeEvent

import javax.swing.event.ChangeListener

import java.io.*

import java.awt.event.*

public class Test11 extends JFrame{

//添加一个颜色对话框窗口

JFrame color=new JFrame()

JDialog color_diglog=new JDialog(color,"颜色",true)

Container contentpane=this.getContentPane()

JTextArea text=new JTextArea()//文本域

JFileChooser filechooser=new JFileChooser()//文件选择器

JColorChooser colorchooser=new JColorChooser()//颜色选择器

ColorSelectionModel model=colorchooser.getSelectionModel()//用以获取颜色模型

//创建菜单栏

JMenuBar menubar=new JMenuBar()

JMenu F_menu=new JMenu("文件(F)"),

C_menu=new JMenu("颜色(C)")

JMenuItem FC=new JMenuItem("打开(文件选择器)"),

CC=new JMenuItem("颜色(颜色选择器)")

public Test11(){

super("简单文本编辑器")//调用父类(JFrame)的构造方法

contentpane.setLayout(new BorderLayout())

text.setLineWrap(true)

F_menu.add(FC)

C_menu.add(CC)

menubar.add(F_menu)

menubar.add(C_menu)

contentpane.add(menubar,"North")

contentpane.add(text)

color_diglog.add(colorchooser)

color_diglog.setSize(300, 400)

fileshow()//事件监听器类

}

public void fileshow(){

//文件查看器

FC.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int result=filechooser.showOpenDialog(null)

File file=filechooser.getSelectedFile()

if(file!=null&&result==JFileChooser.APPROVE_OPTION){

try {//将读出的文件赋给text,text用read方法读出

FileReader fr=new FileReader(file.getPath())

text.read(fr,null)

fr.close()

} catch (FileNotFoundException e1) {

e1.printStackTrace()

} catch (IOException e2) {

e2.printStackTrace()

}

}

}

})

//颜色查看器

CC.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

color_diglog.setLocationRelativeTo(Test11.this)//在color_dialog中显示颜色选择器

model.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e){

text.setBackground(colorchooser.getColor())//将文本域的背景色改变为获取的颜色

}

})

color_diglog.setVisible(true)

}

})

}

public static void main(String[] args) {

JFrame f=new Test11()

f.setBounds(300,300,300,300)

f.setVisible(true)

f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE)

f.setDefaultLookAndFeelDecorated(true)

f.addWindowListener(new WindowAdapter(){

public void windowClosed(WindowEvent e){

System.exit(0)

}

})

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12087106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存