我能夠在Java的主窗口(JFrame)的標題欄之外的任何地方顯示日文字符。有沒有辦法改變這個標題欄的字體,以便它可以顯示日語字符?謝謝在Java的TItle Bar中顯示日文字符
我正在使用Windows XP。如果這個問題我使用Java物質的外觀和感覺。
我能夠在Java的主窗口(JFrame)的標題欄之外的任何地方顯示日文字符。有沒有辦法改變這個標題欄的字體,以便它可以顯示日語字符?謝謝在Java的TItle Bar中顯示日文字符
我正在使用Windows XP。如果這個問題我使用Java物質的外觀和感覺。
窗口的標題欄由系統窗口管理器管理,而不是由Swing管理。你不會說你使用的是什麼OS/GUI。
對於Windows XP,打開顯示控制面板,選擇「外觀」選項卡,並單擊「高級」按鈕;您可以在那裏更改標題字體(儘管系統上安裝的字體可能沒有您需要的字形)。
下面是一些代碼,檢查系統默認字體是否支持您所需要的字形(我不知道性格是什麼,它是從片假名設定一個好看的字形):
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class GlyphCheck
{
public static void main(String[] argv) throws Exception {
final String title = "Testing: \u30CD";
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
JFrame frame = new JFrame(title);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JLabel label = new JLabel(title);
label.setSize(200, 100);
frame.setContentPane(label);
frame.pack();
frame.setVisible(true);
}
});
}
}
在爲了覆蓋幀的字體,你需要告訴外觀和外觀。這可能是也可能不是可取的,但是否則你將會受制於系統的擺佈。有些外觀和感覺有相當不錯的窗飾,其他則不是。物質的沒關係。告訴UIManager也使用什麼字體。
// Do this before you display any JFrame.
UIManager.put("Frame.font", new Font("Japanese", 12, Font.PLAIN));
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame(title);
這種方法(它應該工作 - 沒有測試過對不起!),將意味着你就可以瞞着,他們需要改變自己的Windows設置,按照對方的回答用戶分發程序。
JFrame.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
UIManager.put("InternalFrame.titleFont", Resources.jaDefault.deriveFont(16.0f));
Try it ;)
我不熟悉Java的物質,但在一個web應用程序工作時,我經歷了這一點。基本上,日文,中文和韓文字符會顯示在頁面內容中,但不會顯示在瀏覽器標題欄中。
這是由於窗口系統控制這個標題欄而不是瀏覽器。根據kdgregory的評論,這聽起來像是和你的情況類似。
對於窗口系統,瞭解人物和不顯示不支持的「盒子」,你必須確保安裝設置適當的角色。對於Windows XP,以下步驟解決了瀏覽器標題欄的問題:
我的操作系統是Windows XP。我已經嘗試將我的活動標題欄更改爲不同的字體,但它沒有更改標題欄的字體。 – baseballtank13 2009-06-01 18:45:02
在您評論的同一時間更新 - 您確定您選擇的字體具有您正在使用的字符的字形嗎?通過在Swing標籤上設置該字體表面進行測試。也有可能你需要做一些像重啓一樣的Windowsware。 – kdgregory 2009-06-01 18:46:30
這兩個想法都沒有奏效。有沒有這樣的線我可以使用... UIManager.put(「OptionPane。messageFont「,new FontUIResource(new Font(」Dialog「,Font.PLAIN,11))); ... for main title? – baseballtank13 2009-06-01 18:53:28