Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9でFlow.Publisherインターフェースを実装する方法は?


発行者 インターフェースは、無制限の数のシーケンスされた要素のプロバイダーであり、サブスクライバーから受け取った要求に従ってそれらを公開します。 。 Publisher.subscribe(Subscriber)の呼び出しに応答して 、サブスクライバーのメソッドの可能な呼び出しシーケンス 。これは、 onSubscribe()を意味します メソッドの後に、無制限の数の onNext() メソッド(サブスクライバーからの要求に応じて )の後に onError()が続きます メソッド、失敗または onComplete()がある場合 サブスクリプションである限り、使用可能な要素がなくなった場合のメソッド キャンセルされません。

構文
public interface Publisher<T> {
   public void subscribe(Subscriber<? super T> s);
}

import java.util.concurrent.*;
import java.util.*;
import java.util.stream.*;

class SimplePublisher implements Flow.Publisher<Integer> {
   private final Iterator<Integer> iterator;
   SimplePublisher(int count) {
      this.iterator = IntStream.rangeClosed(1, count).iterator();
   }
   @Override
   public void subscribe(Flow.Subscriber<? super Integer> subscriber) {
      iterator.forEachRemaining(subscriber::onNext);
      subscriber.onComplete();
   }
}

public class SimplePublisherImplTest {
   public static void main(String args[]) {
      new SimplePublisher(10).subscribe(new Flow.Subscriber<>() {
         @Override
         public void onSubscribe(Flow.Subscription subscription) {
         }
         @Override
         public void onNext(Integer item) {
            System.out.println("item = [" + item + "]");
         }
         @Override
         public void onError(Throwable throwable) {
         }
         @Override
         public void onComplete() {
            System.out.println("complete");
         }
      });
   }
}

出力

item = [1]
item = [2]
item = [3]
item = [4]
item = [5]
item = [6]
item = [7]
item = [8]
item = [9]
item = [10]
complete

  1. 編集可能なJLabelをJavaで実装するにはどうすればよいですか?

    JLabel JLabel クラスはJComponentを拡張できます クラスとJLabelのオブジェクトは、 GUIに関するテキスト命令または情報を提供します 。 JLabel 1行の読み取り専用テキストを表示できます 、画像 または両方のテキスト および画像 。 JLabelの重要なメソッドは、 setText()、setIcon()、setBackground()、setOpaque()、setHorizo​​ntalAlignment()、setVerticalAlignment()です。 など JLabelは明示的にPropertyChangeListenerを生成

  2. JavaでJToggleButtonを実装するにはどうすればよいですか?

    JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。