Java Swing を使用して、Yahoo パイプなどのパイプ コネクタを実装する方法。または、Java Swing でのその他の種類のワイヤリングについても同様です。
1 に答える
5
JavaでPipedReader
andを使用する例を次に示します。PipedWriter
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PipedReader;
import java.io.PipedWriter;
/**
* @date 1st May, 2011
* @author sanju.org
*
* To demonstrate the use of piped character streams.
* Example program for piped character stream in java.
*
*/
public class PipedReaderExample {
public static void main(String args[]) throws IOException{
PipedReader reader = new PipedReader();
PipedWriter writer = new PipedWriter(reader);
Thread readerThread = new Thread(new ReaderThread(writer));
Thread writerThread = new Thread(new WriterThread(reader));
readerThread.start();
writerThread.start();
}
}
class ReaderThread implements Runnable{
PipedWriter writer;
public ReaderThread(PipedWriter writer){
this.writer = writer;
}
public void run() {
InputStreamReader streamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(streamReader);
try {
while (true) {
//sample implementation reading from console
//real implementation can be reading from a socket or a file
//or from server side code
String line = bufferedReader.readLine();
writer.write(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class WriterThread implements Runnable{
PipedReader reader;
public WriterThread(PipedReader reader){
this.reader = reader;
}
public void run() {
while(true){
try {
char c;
while( (c = (char)reader.read()) != -1){
//write your business logic here
//could be writing into a file
//could be processing the date
System.out.println(c);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
クラスでyahooを使用PipedReader/Writer
する場合は、APIを読んでURLなどに接続すると思います
PipedReader
およびPipedWriter
(チュートリアルと情報の組み合わせ) に関連する、役立つ他のリンクのリストを次に示します。
- Java IO: パイプ
- Java IO: PipedReader
- PipedReader PipedWriter の例(JavaCodeGeeks の例)
- PipedReader と PipedWriter とスレッド(Java2s の例)
TextComponent
Swing 側では、パイプから受信したデータを表示するには、次のいずれかを使用する必要があります。
それぞれにsetText(...)
コンテンツを設定できる があります
参照:
于 2012-10-23T20:47:12.167 に答える