No.1
- 回答日時:
> 入力された半角文字は
どこへ、何に、入力しているのか、とか、やろうとしていることの全貌がわからん。スモール サンプル コード、プリーズ!
申し訳ありません。
実現したいことは、キーボードから日本語の入力を取得することです。
要点だけ抜き出したソースです。
public class A extends JPanel implement KeyListener
{
private char keyChar;
public A()
{
setFocusable(true);
addKeyListener(this);
}
public void keyTyped(KeyEvent e)
{
keyChar = e.getKeyChar();
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
この形で、文字入力モードが半角英数になっているとき、どこかのキーが押されたら、そのキーを取得できました。
アドバイスを頂きたいのは、文字入力モードが全角だった場合の取得方法です。
例えば
1:t,a,n,g,oキーを押す
2:変換する
3:確定する(結果「単語」という文字列になる)
という動作があったとします。
ここで、その結果(単語)を取得したいです。
No.2ベストアンサー
- 回答日時:
以下は簡単すぎて実用性ゼロですが、だいたいこんな感じです(これはパッシブクライアントの例)。
詳しくは、java.awt.imパッケージの関連ドキュメンテーションをお勉強してください。サンプルプログラムも豊富に提供されていますから、勉強に行き詰まることはないと思います。
----------------------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class AAA extends JPanel implements KeyListener{
private char keyChar;
StringBuffer sb;
public AAA(){
sb = new StringBuffer();
enableInputMethods(true);
setFocusable(true);
addKeyListener(this);
setPreferredSize(new Dimension(200, 100));
}
public void keyTyped(KeyEvent e){
sb.append(keyChar = e.getKeyChar());
repaint();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if (sb != null){
g.drawString(sb.toString(), 10, 20);
}
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
/* main() for test */
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con = frame.getContentPane();
con.add(new AAA(), BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
----------------------------------------------
参考URL:http://java.sun.com/javase/ja/6/docs/ja/technote …
まさに求めていた情報です。
これで疑問は解決しました。
あとは参考URLのところで勉強します。
お時間を割いて下さり大変感謝いたします。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) 【Excel】複数列ごとに取得するセルを変更したい 2 2023/03/23 21:04
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java junit list同士の比較方法
-
JPanelの切り替えと再描画
-
setPrefferedSizeとsetSize
-
ArrayListの使い方について(初...
-
タスクトレイのメニュからウィ...
-
4択クイズでのランダム出題の...
-
JTableの列ヘッダ
-
最後の行に移動するには?
-
JavaのswingでCardLayoutの画面...
-
コンパイルエラー <identifier...
-
応用情報技術者試験の令和元年...
-
[JAVA]try 内の変数を外で!?
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
System.err. printlnとSystem.o...
-
flush()とclose()について
-
javaで質問です。 文字列2023/2...
-
Javaで改行などが出来ないのです。
-
JSPやサーブレットでSystem.out...
-
C言語 重複しない4ケタの乱数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JTableの列ヘッダ
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
【Swing】JPanel クラス外から...
-
4択クイズでのランダム出題の...
-
コンパイルエラー <identifier...
-
JPanelの重ね方/OverlayLayout他
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
ボタンクリック後パネルを再描...
-
ArrayListの使い方について(初...
-
JavaでのSwingを使った簡易電卓...
-
連番をオブジェクト名の最後に...
-
あるコンボボックスを選択する...
-
Buttonを押すと画像が表示され...
-
KeyListenerの使い方について
おすすめ情報