我能够在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