プログラミング:[processing]

textField を使って日本語入力を受けつけたい。
英数字は入力できるのですが、入力切替ができません。
JREを変えるとできたりするのでしょうか?
textField以外でも日本語入力できればOKなのですが、dialog等でいいのがあれば教えてください。

TextField inputLine = new TextField("inputLine");
void setup() {
size(200,100);
setLayout(null);
inputLine.setBounds(30,37,125,25);
add(inputLine);
}
void mousePressed(){
String iLine = inputLine.getText();
println("inputLine: " + iLine);
}
void draw() {
}

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/11/26 20:29:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:mattn No.1

回答回数104ベストアンサー獲得回数23

ポイント35pt

環境が書かれていないのであてずっぽになりますが、Javaは標準でInput Methodによるテキスト入力をサポートしています。何かしら環境がおかしいかもしれません。Windowsであれば標準IMEで間違いなく入力出来るはずですし、Linux等*NIX系のOSであれば、環境変数LANG, XMODIFIERS等を疑ってみると良いかと思います。

無いとは思いますが、他のアプリケーションは入力出来ていてJavaアプリケーションだけ入力出来ないのであれば、JREのバグが予想されます。

id:p314

回答ありがとうございます。

環境はMac OS10(にわか)

java version "1.5.0_20"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-b02-315)

Java HotSpot(TM) Client VM (build 1.5.0_20-141, mixed mode, sharing)

です。

他のアプリでは問題なく日本語入力できます。processing経由でのjavaアプリでのみ日本語入力に切り替えできません。Processing上の問題のような気がしてきました。

そういえば、IDEでも日本語入力はできませんし・・・

目的である日本語入力の受付はコメントに書いたダイアログで済ませたいと思います。

新たにPanelをつくってそこに、JTextFieldを貼付けると切り替えが出来るみたいでした。

2009/11/26 20:27:41
id:sirotugu40 No.2

回答回数449ベストアンサー獲得回数14

ポイント35pt

とりあえず、メモ帳で日本語をかいて、コピペにテキストフィールドに貼り付けてみてはどうでしょうか?

これ文字化けするとなると、JREの環境が悪いです。

古いJREは日本語に対応してません。

  • id:p314
    質問者です。
    dialogではいいのが、見つかりました。

    import java.awt.*;
    import javax.swing.*;

    void setup(){
    JPanel panel = new JPanel();
    BoxLayout layout = new BoxLayout(panel, BoxLayout.Y_AXIS);
    panel.setLayout(layout);

    panel.add(new JLabel("入力"));
    JTextField text1 = new JTextField();
    panel.add(text1);
    JTextField text2 = new JTextField();
    panel.add(text2);

    int r = JOptionPane.showConfirmDialog(
    null, // オーナーウィンドウ
    panel, // メッセージ
    "タイトル", // ウィンドウタイトル
    JOptionPane.OK_CANCEL_OPTION, // オプション(ボタンの種類)
    JOptionPane.QUESTION_MESSAGE); // メッセージタイプ(アイコンの種類)

    println(r);
    println(text1.getText());
    println(text2.getText());

    }

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません