繁体   English   中英

可以从 JFileChooser 中删除标题栏吗?

[英]Possible to remove Title bar from JFileChooser?

我正在尝试显示一个没有标题栏的简单 JFileChooser。 下面是示例代码:

package ca.customfilepicker.main;
import java.awt.Component;
import java.awt.HeadlessException;

import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JFileChooser;

class CustomFileChooser

{

    public static void main(String args[]) {

        JFileChooser chooser = new JFileChooser() {
            @Override
            protected JDialog createDialog(Component parent) throws HeadlessException {
            
                JDialog diag = super.createDialog(parent);
                
                //diag.setUndecorated(true);
                return diag;
            }
        };
        
        chooser.setBorder(BorderFactory.createTitledBorder("Open"));
        chooser.showOpenDialog(null);

    }
}

所以基本上我希望我设置的边框是顶级标题栏。 示例图像:

https://i.stack.imgur.com/exogU.png

到目前为止,我实现这一目标的运气为零,也没有发现任何其他人在寻找类似的外观。 感谢帮助! 干杯

JFileChooser只是一个 Swing 组件。 它可以添加到任何容器中。

因此,您可以创建一个未修饰的 JDialog 并将 JFileChooser 的一个实例添加到对话框中。

现在的问题是“打开”和“取消”按钮不会关闭对话框,因此您需要手动关闭。 您可能会覆盖 JFileChooser 的“approveSelection() and cancelSelection()”方法。

我猜逻辑是调用 super.approveSelection() 或 super.cancelSelection(),然后使用SwingUtilities.windowForComponent(...)方法获取父 window,然后在 window 上调用dispose()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM