Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(AWTのメニューやラベルで文字化けを防ぐには・・・)
閲覧数:752
掲示板(AWTのメニューやラベルで文字化けを防ぐには・・・)
名前
題名 AWTのメニューやラベルで文字化けを防ぐには・・・
質問内容

質問を評価する
(0ポイント)
はじめまして。Javaでのプログラミングを勉強しはじめたばかりなのですが、文字化けについての対処法について、お知恵をいただけたらと思いまして、書き込みをいたします。

java.awt.Frameクラスを使って作ったフレームの中で、日本語テキストを表示させるアプリケーションを作成してみて、それが日本語Windows環境でも英語Windows環境でも問題なく表示されるかどうかを確認してみようと思ったところ、さっそく英語環境で文字化けいたしました。

長くなって申し訳ないのですが、下記のようなソースコードで、英語Windows環境では、java -Dfile.encoding=MS932 gui07 を実行すれば、文字化けしません。が、-Dオプションをつけないと文字化けします。実行時にそのようなオプションをつけずとも、文字化けしない方法は何かございますでしょうか。

import java.awt.*;
import java.awt.event.*;

class gui07 extends Frame {
    MenuBar menubar;
    Menu menu;
    MenuItem menuitem;
    Label label;
    TextField textfield;
    gui07() {
        setLayout(null);
        setResizable(false);
        setTitle("GUI TEST 0.7");
        setVisible(true);
        menubar = new MenuBar();
        setMenuBar(menubar);
        menu = new Menu("ファイル");
        menubar.add(menu);
        menuitem = new MenuItem("終了");
        menu.add(menuitem);
        menuitem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        setSize(getInsets().left + 320 + getInsets().right, getInsets().top + 48 + getInsets().bottom);
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        label = new Label();
        label.setLocation(getInsets().left, getInsets().top);
        label.setSize(320, 16);
        label.setText("これはラベルです。");
        add(label);
        textfield = new TextField();
        textfield.setLocation(getInsets().left, getInsets().top + 16);
        textfield.setSize(320, 16);
        textfield.setText("これはテキストフィールドです。");
        add(textfield);
    }
    public static void main(String args[]) {
        new gui07();
    }
}

具体的には、テキストフィールド内の文字は化けませんが、メニューとラベルの文字は化けました。

アドバイスいただけたら幸いです。
質問日時 2009-01-03 15:17:54
名前
回答内容

回答を評価する
(0ポイント)
英語版環境て。
オプションで対応できるだけでも、御の字だと思うけどなあ。
回答日時 2009-01-04 01:52:46

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道