gpt4 book ai didi

java - JTextField.getInputContext() 返回空值

转载 作者:行者123 更新时间:2023-11-29 05:23:03 24 4
gpt4 key购买 nike

在我的 Swing 应用程序中,我使用 JTextField 组件来获取波斯语文本值。

我想使用以下代码为此组件设置语言环境:

txt_fname.getInputContext().selectInputMethod(new Locale("fa", "IR"));

但是 txt_fname.getInputContext() 返回 null 并且代码抛出一个 NullPointerException

我该如何解决这个问题?

已编辑

代码在 InternalJFrame 构造函数中调用:

public DriversList() {
initComponents();
txt_fname.getInputContext().selectInputMethod(new Locale("fa", "IR"));
}

最佳答案

此 MCVE 建议您未显示的代码正在尝试在首次显示文本字段之前获取输入上下文。

代码

import java.awt.*;
import javax.swing.*;

class InputContextTest {

public static void main(String[] args) {
Runnable r = new Runnable() {

@Override
public void run() {
JTextField tf = new JTextField(10);
System.out.println(tf.getInputContext());
JOptionPane.showMessageDialog(null, tf);
System.out.println(tf.getInputContext());
}
};
// Swing GUIs should be created and updated on the EDT
// http://docs.oracle.com/javase/tutorial/uiswing/concurrency
SwingUtilities.invokeLater(r);
}
}

输出

null
sun.awt.im.InputMethodContext@1fa5e5e
Press any key to continue . . .

关于java - JTextField.getInputContext() 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23907498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com