Java 9でFlow.Publisherインターフェースを実装する方法は?
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
-
編集可能なJLabelをJavaで実装するにはどうすればよいですか?
JLabel JLabel クラスはJComponentを拡張できます クラスとJLabelのオブジェクトは、 GUIに関するテキスト命令または情報を提供します 。 JLabel 1行の読み取り専用テキストを表示できます 、画像 または両方のテキスト および画像 。 JLabelの重要なメソッドは、 setText()、setIcon()、setBackground()、setOpaque()、setHorizontalAlignment()、setVerticalAlignment()です。 など JLabelは明示的にPropertyChangeListenerを生成
-
JavaでJToggleButtonを実装するにはどうすればよいですか?
JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。