如何在Java Swing中显示系统样式的文件选择框?类似JavaFX的FileChooser外观

如何在Java Swing中显示系统样式的文件选择框?类似JavaFX的FileChooser外观,第1张

完整的java代码如下:

import javax.swing.*

import java.awt.event.*

public class FileChooserDemo extends JFrame implements ActionListener {

// 创建一个按钮,用于打开文件选择框

private JButton openButton

// 创建一个文件选择框对象

private JFileChooser fileChooser

public FileChooserDemo() {

// 设置窗口标题和大小

super("文件选择框示例")

setSize(300, 200)

// 设置窗口布局为流式布局

setLayout(new FlowLayout())

// 初始化按钮,并添加动作监听器

openButton = new JButton("打开文件")

openButton.addActionListener(this)

// 初始化文件选择框,并设置为系统样式[^1^][2]

fileChooser = new JFileChooser()

fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY)

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())

SwingUtilities.updateComponentTreeUI(fileChooser)

} catch (Exception e) {

e.printStackTrace()

}

// 将按钮添加到窗口中

add(openButton)

// 设置窗口可见和关闭 *** 作

setVisible(true)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

@Override

public void actionPerformed(ActionEvent e) {

if (e.getSource() == openButton) {

// 当点击打开文件按钮时,d出文件选择框[^2^][1]

int result = fileChooser.showOpenDialog(this)

if (result == JFileChooser.APPROVE_OPTION) {

// 当用户选择了一个文件时,获取并显示文件路径

String filePath = fileChooser.getSelectedFile().getPath()

JOptionPane.showMessageDialog(this, "你选择了:" + filePath)

}

}

}

public static void main(String[] args) {

new FileChooserDemo()

}

}

使用javaswing中的JFileChooser类就ok了\x0d\x0aimport javax.swing.JFileChooser\x0d\x0aimport javax.swing.JPanel\x0d\x0aimport javax.swing.filechooser.FileNameExtensionFilter\x0d\x0a\x0d\x0apublic class WebJianXuanZe {\x0d\x0a\x0d\x0apublic static void fileChooser() {\x0d\x0aJFileChooser chooser = new JFileChooser()\x0d\x0aFileNameExtensionFilter filter = new FileNameExtensionFilter(\x0d\x0a"JPG &GIF Images", "jpg", "gif")\x0d\x0a//设置文件类型\x0d\x0achooser.setFileFilter(filter)\x0d\x0a//打开选择器面板\x0d\x0aint returnVal = chooser.showOpenDialog(new JPanel()) \x0d\x0a //保存文件从这里入手,输出的是文件名\x0d\x0aif(returnVal == JFileChooser.APPROVE_OPTION) {\x0d\x0a System.out.println("你打开的文件是: " +\x0d\x0achooser.getSelectedFile().getName())\x0d\x0a}\x0d\x0a}\x0d\x0apublic static void main(String[] args) {\x0d\x0afileChooser()\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a建议你可以翻java API 。新童鞋的话一定要学会用API、善于用API,尽量独立解决问题,这样能够加深映像,并且对子什么也是一个激励!~


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存