簡體   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