java程序问题,有关actionPerformed的使用
我在写一个程序,目的是类似于有道词典那种的,每当在textarea有文字输入便在arraylist中查询,如果arraylist中有内容的前缀跟输入的文字相同时便在另外一...
我在写一个程序,目的是类似于有道词典那种的,每当在textarea有文字输入便在arraylist中查询,如果arraylist中有内容的前缀跟输入的文字相同时便在另外一个textarea中显示它。可是我现在写完了发现不论输入什么,都完全不显示,我把这段代码写在这里,请大神帮我看一下,谢谢了。(之前的UI代码就不放在这里了)
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object source = e.getSource();
if (source == reset){
input.setText(null);
display.setText(null);
}
type = input.getText();
for(int i = 0; i < Read.line; i++){
if(Read.a.get(i).startsWith(type)){
display.append(Read.a.get(i) + "\n\t");
}
if(source != null){
display.setText("");
}
}
}
其中reset是我设置的清零键,input是输入用的textarea,display是显示用的textarea;a是存放被查询文字的arraylist,在另一个class Read中。 展开
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object source = e.getSource();
if (source == reset){
input.setText(null);
display.setText(null);
}
type = input.getText();
for(int i = 0; i < Read.line; i++){
if(Read.a.get(i).startsWith(type)){
display.append(Read.a.get(i) + "\n\t");
}
if(source != null){
display.setText("");
}
}
}
其中reset是我设置的清零键,input是输入用的textarea,display是显示用的textarea;a是存放被查询文字的arraylist,在另一个class Read中。 展开
1个回答
展开全部
我觉得可能是这样的,先放一个listener监听input 如下:
input.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
//代码在这里
}
public void removeUpdate(DocumentEvent e) {
//代码在这里
}
public void insertUpdate(DocumentEvent e) {
//代码在这里
}
});
然后看看效果
input.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
//代码在这里
}
public void removeUpdate(DocumentEvent e) {
//代码在这里
}
public void insertUpdate(DocumentEvent e) {
//代码在这里
}
});
然后看看效果
更多追问追答
追问
你好,感谢你的回答,我试了一下,加上了监听之后我的程序会无响应,不知道是因为什么,能再麻烦你帮我看一下吗
追答
能看一下您的代码吗、?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询