[英]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);
}
}
所以基本上我希望我设置的边框是顶级标题栏。 示例图像:
到目前为止,我实现这一目标的运气为零,也没有发现任何其他人在寻找类似的外观。 感谢帮助! 干杯
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.