用applet在网页上输出汉字,有2个问题:1.我的java文件是用utf-8编码,结果输出是乱码,如果用GBK编码自然就是好的,但为了保持一致,我想项目文件都用utf-8
  请问有啥办法?2.输出的一行字,字数不定,如何让这行字居中显示?
  我现在用 g.drawString(message, 100, 80); 指定坐标的话,不是偏左就偏右。谢谢!

解决方案 »

  1.   


    public void paint(Graphics g) {
            Font myFont1 = new Font("TimesRoman", Font.BOLD, 30);
    g.setFont(myFont1);
            String message = "中文若干字";
    g.drawString(message, 100, 80);
    }具体代码太长了,就是这样输出汉字的。
      

  2.   

    1、自己写一个转码的类,对文字进行转码2、FontMetrics metrics = getFontMetrics(myFont1);
       int width = metrics.stringWidth(message);
       ...
       g.drawString(message, (getWidth - width) / 2, 80);   就是先计算字符串的宽度
      

  3.   

    有两种范围,一咱是applet中的,一种是浏览器中的,两种实现不一样,
    先搞清楚这个问题,再来问问