簡體   English   中英

如何更改Jframe的默認外觀? (不是Netbeans的主題)

[英]How can I change the default look and feel of Jframe? (Not theme of Netbeans)

我想改變我將從這里開始創建的所有jframe表單的默認外觀,而不必手動編輯我從'Nimbus'到'Windows'創建的每個jframe的每個外觀代碼。

所以我想要發生的是從我啟動Netbeans到創建新Jframe時,我剛剛創建的Jframe的外觀和感覺代碼將自動設置為“Windows”而不是“Nimbus”。

我點擊“新建> Jframe表單”后,我希望外觀代碼看起來像這樣:

        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Windows".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    }

注意:我不是試圖主題Netbeans本身,我只是希望我創建的Jframe默認情況下具有窗口的外觀和感覺所以我不必通過源選項卡並將Nimbus更改為Windows我為每個創建的Jframe創建。

首先來看看這個主題: 使用多個JFrame,好/壞的做法?

注意:我不是試圖主題Netbeans本身, 我只是希望我創建的Jframe默認情況下具有窗口的外觀和感覺所以我不必通過源選項卡並將Nimbus更改為Windows我為每個創建的Jframe創建。

您想要更改的內容稱為模板:您可以通過“ 新建文件”向導創建的每個文件都有一個關聯的模板。 說過這個NetBeans后,開發人員可以更新/創建默認模板。 轉到工具 - >模板,然后查找Swing GUI表單 - > JFrame

在此輸入圖像描述

你有兩個選擇:

  1. 在編輯器中打開模板並在那里修改它。
  2. 創建一個重復的模板並修改最后一個。

我選擇2只是為了保持原始模板不被修改。

在此輸入圖像描述

編輯模板時,只需修改此行(或實際需要的觀察者):

在此輸入圖像描述

最后創建一個新的“自定義” JFrame只需在Swing GUI Forms中找到您的模板- > MyJFrameTemplate ,如下所示:

在此輸入圖像描述


此外

閱讀@Misgevolution在下面的評論我認為有一些事情需要澄清。 這個自動生成的main方法僅用於測試目的,使開發人員能夠“運行”頂級容器。 Java應用程序只需要一個main類,因此在部署應用程序時應刪除此僅測試main方法。 正如其他答案中所建議的那樣,L&F應該只在啟動時建立一次,而不是在每個頂級容器中建立。

1. try {
2.        for (javax.swing.UIManager.LookAndFeelInfo info :  javax.swing.UIManager.getInstalledLookAndFeels()) {
3.            if ("*Windows*".equals(info.getName())) {
4.               javax.swing.UIManager.setLookAndFeel(info.getClassName());
5.                break;
6.             }
7.         }
8.    }

在第3行'只需用“Nimbus”替換“windows”並將此代碼放在應用程序的主框架中並以嵌套形式調用另一幀,它將自動為所有表單應用nimbus theam。

請參閱java教程中的“ 更改啟動后的外觀”部分。 你必須像這樣打電話:

UIManager.setLookAndFeel(lnfName);    
SwingUtilities.updateComponentTreeUI(frame);    
frame.pack();

其中lnfName是LookAndFeel名稱, frame是您的JFrame對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM