以前に作成した Java スイング フォームを変更して、JTextField
キーストロークに応答する を追加するように依頼されました。フォームにテキスト フィールドを追加し、強制的にフォーカスしようとしましたが、成功しませんでした。クリックしても、フォーカスが得られず、テキストを入力することもできません。JPanel
テキストを入力すると、文字列変数に保持され、return キーを押すとすぐにメソッドにダンプされるように、(フォームのベースである)キー リスナーを追加しようとしました。
何が起こっているのかを整理するために助けが必要です。フォームは完全に著作権で保護されているため、コードを投稿しませんでした。この問題を回避する方法について、いくつかのアイデアが本当に必要です。
これは、リスナーを追加しようとするコードの部分です。
public void actionPerformed(ActionEvent e) {
MyButton jb = (MyButton) e.getSource();
String buttonGetName = jb.getName();
/* MÉTODO PARA CAPTURA DE ENTRADAS POR TECLADO / LEITOR DE COD BARRAS */
back.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
barcode.setText(sBarcode);
System.out.println("sBarcode");
sBarcode = null;
} else {
System.out.println(e.getKeyChar());
sBarcode = sBarcode + e.getKeyChar();
}
}
});
...ボタンの配列でどのボタンが押されたかを読み取るコードがいくつかあります。