[Armadillo:05374] Re: Armadillo-9 Javaで日本語が表示できない
sugitani
email@hidden
2010年 6月 28日 (月) 15:49:36 JST
杉谷です。
> X上ってことは、GUIですよね? AWTですか Swingですか?
AWTを使用しています。
> swingで直接文字を入れる場合は、↓な感じですか?
>
> > import javax.swing.*;
> >
> > import javax.swing.JFrame;
> > import javax.swing.JLabel;
> >
> > public class HelloWorldSwing {
> > public static void main(String[] args) {
> > JFrame frame = new JFrame("みなさん、こんにちは");
> > final JLabel label = new JLabel("みなさん、こんにちは");
> > frame.getContentPane().add(label);
> >
> > frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> > frame.pack();
> > frame.setVisible(true);
> > }
> > }
こちらで↑のプログラムを実行したところ、
フレームは表示されず、ラベルは「□」が表示されました。
今、お試しで作っているソースを↓に貼っておきます。
内容としては、フレームにテキストエリアを貼り付けて、そこにファイルから読
み出したテキストを表示させるというものです。
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.Timer;
public class PrefFrame extends Frame {
/**
*
*/
TextArea b1;
private static final long serialVersionUID = -6495168486552947488L;
public static void main(String [] args) {
new PrefFrame();
}
public PrefFrame() {
super("日本語test");
setLocation(300, 200);
setSize(250, 350);
setLayout(new FlowLayout());
setBackground(Color.white);
b1 = new TextArea(10, 20);
Timer t = new Timer();
t.schedule(new MyTimer(),0,10000);
// 例外が起こりそうな記述
try {
// ファイルを開く
FileReader in = new FileReader("test.txt");
// データを最後まで読み込む
int c;
while ((c = in.read()) != -1) {
// 文字型に変換して出力
b1.append(String.valueOf((char)c));
}
// ファイルを閉じる
in.close();
} catch(Exception ex) {
// 以下、例外処理の記述
System.out.println("ファイルがありません。");
}
add(b1);
setVisible(true);
}
class MyTimer extends TimerTask {
public void run(){
// 例外が起こりそうな記述
try {
// ファイルを開く
FileReader in = new FileReader("test.txt");
// データを最後まで読み込む
int c;
while ((c = in.read()) != -1) {
// 文字型に変換して出力
b1.append(String.valueOf((char)c));
}
// ファイルを閉じる
in.close();
} catch(Exception ex) {
// 以下、例外処理の記述
System.out.println("ファイルがありません。");
}
}
}
}
以上、よろしくお願いします。
On Mon, 28 Jun 2010 15:08:46 +0900
Yasushi SHOJI <email@hidden> wrote:
> At Fri, 25 Jun 2010 16:35:45 +0900,
> sugitani wrote:
> >
> > Armadillo-9にて、X上でJavaで画面を作成し日本語を表示したいのですが、文字
> > 化けしてしまい、うまく表示されません。
> > 現状、xtermおよびWindow Maker Preferencesには正常に日本語が表示されています。
>
> X上ってことは、GUIですよね? AWTですか Swingですか?
>
> swingで直接文字を入れる場合は、↓な感じですか?
>
> > import javax.swing.*;
> >
> > import javax.swing.JFrame;
> > import javax.swing.JLabel;
> >
> > public class HelloWorldSwing {
> > public static void main(String[] args) {
> > JFrame frame = new JFrame("みなさん、こんにちは");
> > final JLabel label = new JLabel("みなさん、こんにちは");
> > frame.getContentPane().add(label);
> >
> > frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> > frame.pack();
> > frame.setVisible(true);
> > }
> > }
> --
> yashi
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
+-------------------------------------------+
日東通信機株式会社
技術部 第一グループ
杉谷 昌彦(sugitani masahiko)
〒158-0098
東京都世田谷区上用賀5丁目12番11号
TEL :03-3708-6300
E-Mail:email@hidden
armadillo メーリングリストの案内