从java中的JTextArea读取文本

时间:2011-07-09 15:43:46

标签: java swing jtextarea

我的Java程序中有JTextArea ...我希望如果我在JTextArea中编写一个星号(*),输出将为ATX作为文本。 ..有人可以帮帮我吗?

6 个答案:

答案 0 :(得分:3)

你可以这样做

if(yourTextArea.getText.contains("*"))
{
    yourTextArea.setText("ATX");
}

答案 1 :(得分:1)

你的意思是:

String s = YourTextArea.getText().contains("*") ? "ATX" : YourTextArea.getText();

请澄清您的问题,以便我们为您提供帮助

答案 2 :(得分:1)

你可以为它添加一个键监听器,所以当键入一个键时,你检查它是否是*以及它是否用ATX替换它

答案 3 :(得分:1)

哎呀,误读了这个问题。

如果你想经常这样做,那么唯一的方法是通过keyListener:

http://download.oracle.com/javase/tutorial/uiswing/events/keylistener.html

在我看来,这可能是令人讨厌的功能,它可以在用户输入时将一个字符更改为3个字符。当用户使用某种方法时,请考虑这样做,在这种情况下,您不需要监听器。

答案 4 :(得分:1)

听起来你想要捕获用户的输入,然后根据它是什么来确定你是否要对它做一些事情。

首先,您需要向此JTextArea添加一个动作侦听器,以侦听用户输入的内容,以便您可以确定它是什么。您可以使用KeyListener执行此操作。接下来,您需要一种方法来确定插入符在JTextArea中的位置。您可以使用CaretListener

执行此操作

现在,当发生KeyPressed事件时,您需要确定密钥是什么。如果它实际上是星号*,您将把文本ATX插入到插入符号当前位置的JTextArea中。

然后您将使用以下内容:

textarea.insert("ATX", pos);

其中textarea是JTextArea对象,pos是一个整数,用于保存JTextArea中插入符号的当前位置。如果您不确定如何在CaretListener API上阅读插入位置。它拥有您需要的一切。

答案 5 :(得分:0)

输出在哪里?进入这个文本区域本身?那么,换句话说,你想实现某种别名吗?

在这种情况下,您可以添加KeyListener,并在其keyTyped()中实现您的逻辑:if key是*将文本添加到文本区域。