2011-08-01 34 views
0

我有一個輸出選項卡已創建,我想傾聽用戶的輸入(與組件進行聊天)。當然,你無法預測用戶何時打字。如何從NetBeans的輸出選項卡獲取輸入

我發現org.jivesoftware.smack.util包和相關的ObservableReader和ReaderListener應該這樣做,但我錯過了一些東西,並且無法弄清楚......但是。

這裏是我的代碼:

/* 
* Enable/create the tabs we need for the component 
*/ 
package sample.component; 

import com.dreamer.outputhandler.OutputHandler; 
import org.jivesoftware.smack.util.ObservableReader; 
import org.jivesoftware.smack.util.ReaderListener; 
import org.openide.modules.ModuleInstall; 

/** 
* Manages a module's lifecycle. Remember that an installer is optional and 
* often not needed at all. 
*/ 
public class Installer extends ModuleInstall implements ReaderListener { 

    private final String normal = "Output"; 

    @Override 
    public void restored() { 
     OutputHandler.output(normal, "Welcome! Type something below."); 
     OutputHandler.setInputEnabled(normal, true); 
     ObservableReader reader = new ObservableReader(OutputHandler.getReader(normal)); 
     reader.addReaderListener(this); 
    } 

    @Override 
    public void read(String read) { 
     System.out.println("Read: " + read); 
     OutputHandler.output(normal, "You typed: " + read); 
    } 
} 

OutPutHandler是我創建以處理輸出選項卡的輔助類。你可以看到它的來源here

任何想法?

回答

0

終於明白了!這是上述代碼與this論壇帖子以及此類的組合:org.jivesoftware.smack.util.ObservableReader和org.jivesoftware.smack.util.ReaderListener。請參閱常見問題解答here

+0

解決方案在此NetBeans插件中實現:http://java.net/projects/output-handler – javydreamercsw

相關問題