gpt4 book ai didi

java - 如何在java中使用文本字段

转载 作者:行者123 更新时间:2023-12-01 13:07:27 28 4
gpt4 key购买 nike

我只是有一个关于如何在 Java 中使用文本字段的非常基本的问题。这很简单,但是我一直在寻找的教程和其他问题没有帮助,我希望有人能为我解释得更清楚一些。

现在我有以下代码,为了示例而将其拼凑在一起:

import javax.swing*;
public class testText {
public static void main(String[] args){

JFrame frame = new JFrame();
JTextField text = new JTextField();
frame.add(text);
frame.setVisible(true);
System.out.println(text.getText());
}
}

我想做的就是打印用户在控制台文本字段中输入的内容。但是当我在文本字段中输入内容时什么也没有发生。

现在,根据我所做的研究,我认为问题是我没有使用actionListener。问题是,我真的不明白它们是如何工作的,我希望有人能为我澄清。

我一直在使用this tutorial尝试弄清楚事情,特别是他们在顶部附近的 TextDemo 示例。不过,我仍然有点不知所措,而且我似乎找不到任何方法在不破坏程序的情况下使用 Action 监听器接口(interface)。如果有人可以简单直接地解释如何使用 Action 监听器从文本字段中提取字符串然后使用它,或者指出我可以在其他地方找到简单直接的解释,我将非常感激。我已经为此绞尽脑汁五个小时了,但毫无结果,所以我很抱歉问了这么一个基本的问题,但我很茫然。

最佳答案

在字段中输入内容时按下回车键时,将调用 Action 监听器。来自 JTextfield Javadoc:

How the text field consumes VK_ENTER events depends on whether the text field has any action listeners. If so, then VK_ENTER results in the listeners getting an ActionEvent, and the VK_ENTER event is consumed.

下面是修改后的示例,以便与操作监听器一起使用:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class testText {
public static void main(String[] args){

JFrame frame = new JFrame();
final JTextField text = new JTextField();
frame.add(text);
frame.setVisible(true);

text.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
System.out.println(text.getText());
}
});
}
}

这是一个面向对象的complete example不仅仅依赖于静态主方法。

关于java - 如何在java中使用文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164949/

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