フリートマネージャーの[リモートデスクトップで接続]でWindowsに接続して、
JavaのGUIアプリケーションを起動したところ、表示されたテキストフィールドに対して
物理キーボードから文字入力できませんでした。
※フォーカスはテキストフィールドに移動しますが、キー入力がテキストフィールド反映されない状態です。
テキストフィールドにはAWT(Abstract Windowing Tools)のGUI部品「java.awt.TextFieldクラス」を使用しています。
同一インスタンスにWindowsのリモートデスクトップ接続で接続した場合は入力可能です。
また、フリートマネージャ経由でもソフトウェアキーボードを使用した場合は入力可能です。
テキストフィールドに対して、物理キーボードで文字入力が不可となる理由、入力可能とする方法についてご教示ください。
問題が発生するインスタンス、Javaのソースコードは以下の通りです。
以下のソースコードを実行すると表示された画面の"ユーザー名"の横のテキストフィールドに
文字入力できない状況となります。
■インスタンス
OS(AMI名):Windows_Server-2022-English-Full-Base-2024.11.13
■Javaコード
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JFrame;
public class TEST extends JFrame {
java.awt.Panel panel1 = new java.awt.Panel();
java.awt.Label m_lblUserName = new java.awt.Label();
java.awt.TextField m_txfUserName = new java.awt.TextField();
public static void main(String[] args) {
new TEST();
}
public TEST() {
// ウィンドウの位置とサイズを指定
setBounds(200, 100, 580, 235);
// ウィンドウタイトル
setTitle("TEST");
// レイアウトマネージャーの設定
setLayout(new FlowLayout());
// ウィンドウクローズでアプリケーションを終了する設定
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel1.setLayout(null);
add("Center",panel1);
panel1.setBackground(new java.awt.Color(4,72,102));
panel1.setBounds(0,145,570,173);
panel1.add(m_txfUserName);
m_txfUserName.setBackground(java.awt.Color.white);
m_txfUserName.setBounds(225,48,330,20);
m_txfUserName.setFont(new Font("MonoSpaced", Font.PLAIN, 12));
m_lblUserName.setText(" ユーザー名");
m_lblUserName.setAlignment(java.awt.Label.RIGHT);
panel1.add(m_lblUserName);
m_lblUserName.setForeground(java.awt.Color.white);
m_lblUserName.setFont(new Font("MonoSpaced", Font.PLAIN, 12));
m_lblUserName.setBounds(20,46,200,24);
// ウィンドウを表示する
setVisible(true);
}
}
以上、よろしくお願いします。