【发布时间】:2012-03-19 07:52:07
【问题描述】:
我在日本 RHEL5 机器上的 JTextField 有一个小问题,用户无法在其中输入任何内容,我正在使用以下语法创建它
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() 如果用户没有在上面的文本字段中键入任何内容,则禁用对话框上的按钮。 并使用 add 方法将其添加到 JPanel,我为此使用 GridBagLayout。某些 JTextField 会出现此问题,而其他 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)
我认为这很好。这里有什么我遗漏的吗?
【问题讨论】:
-
您可能想要粘贴与不可编辑的
JTextFields 相关的代码的 sn-ps。 -
如需尽快获得更好的帮助,请发帖 SSCCE。这应该可以在 “我正在使用以下语法创建它
JTextField field = new JtextField();” 不,你不是!该代码无法编译(由于错误的情况)。请不要浪费人们试图帮助您的时间,通过发布“类似于”使用的代码。 复制/粘贴无论是SSCCE还是代码sn-ps。 -
是的,我输入了它,但除此之外别无其他。反正我已经编辑过了。
标签: java swing jtextfield