У меня есть одна небольшая проблема с JTextField на японской машине RHEL5, из-за которой пользователь не может ничего в нее напечатать, я создаю ее, используя следующий синтаксис
Container c = getContentPane();
c.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 10, 0), 0, 0);
c.setBackground(Color.WHITE);
JTextField txtName = new JTextField(10);
txtName.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
disableBtn();
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.anchor = GridBagConstraints.NORTHWEST;
c.add(txtName, gbc);
Метод disableBtn () отключает кнопку в диалоговом окне, если пользователь не ввел ничего в текстовое поле выше.
И добавив его в JPanel, используя метод add, я использую GridBagLayout для этого. Эта проблема возникает с некоторыми JTextField, а другие работают нормально. Кроме того, на моей машине разработки все работает хорошо, но когда я передаю код на японскую машину RHEL5, возникает проблема.
Я столкнулся с подобной проблемой с JPasswordField и решил ее, используя следующую команду,
password.setEchoChar('*');
password.enableInputMethods(true);
Машина, на которой возникли проблемы, имеет следующий вывод команды "java -version",
# java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)
Что я думаю, хорошо. Есть ли что-то, чего мне здесь не хватает?