gpt4 book ai didi

Java Enter 事件不激活处理程序

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

我是 Java 事件、监听器和处理程序的新手。我可以编写代码来创建按钮单击事件和工作结果。但是,我无法让 TextField 中的简单输入事件起作用。

请注意,我确实声明并调用了 Action 监听器、输入处理程序,并定义了结果方法执行。 (我导入了下面未显示的 java.awt 和 javax.swing 库。)

public convertStringToCapitalLetters() {
setTitle("Convert String to All Capital Letters");
Container c = getContentPane();
c.setLayout(new GridLayout(2, 2));

inputLabel = new JLabel("Enter String: ", SwingConstants.LEFT);
stringTextField = new JTextField(50);
outputLabel = new JLabel("Capitalized String: ", SwingConstants.LEFT);
newStringLabel = new JLabel("", SwingConstants.RIGHT);

c.add(inputLabel);
c.add(stringTextField);
c.add(outputLabel);
c.add(newStringLabel);

inputHandler = new InputHandler();

stringTextField.addActionListener(inputHandler);

setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

private class InputHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {
String str, newStr;

str = stringTextField.getText();
newStr = str.toUpperCase();

newStringLabel.setText(String.format("", newStr));
}
}

public static void main(String[] args) {
convertStringToCapitalLetters capitalConv = new convertStringToCapitalLetters();
}

最佳答案

我认为您只是犯了一个很小的错误,就是忘记在 String.format() 中指定占位符 %s

试试这个:

newStringLabel.setText(String.format("%s", newStr));

关于Java Enter 事件不激活处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078072/

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