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

Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?


JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります

import jdk.jshell.JShell;
import jdk.jshell.SnippetEvent;
import jdk.jshell.VarSnippet;

以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応するデータ型の値がリストに表示されます。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import java.util.List;
import jdk.jshell.JShell;
import jdk.jshell.SnippetEvent;
import jdk.jshell.VarSnippet;

public class JShellFXTest extends Application {
   @Override
   public void start(Stage primaryStage) throws Exception {
      JShell shell = JShell.builder().build();
      TextField textField = new TextField();
      Button evalButton = new Button("eval");
      ListView<String> listView = new ListView<>();

      evalButton.setOnAction(e -> {
         List<SnippetEvent> events = shell.eval(textField.getText());
         events.stream().map(event -> convert(event)).filter(s -> s != null).forEach(s -> listView.getItems().add(s));
      });
      BorderPane pane = new BorderPane();
      pane.setTop(new HBox(textField, evalButton));
      pane.setCenter(listView);
      Scene scene = new Scene(pane);
      primaryStage.setScene(scene);
      primaryStage.show();
   }
   public static String convert(SnippetEvent e) {
      if(e.snippet() instanceof VarSnippet) {
         return ((VarSnippet) e.snippet()).typeName() + " " + ((VarSnippet) e.snippet()).name() + " " + e.value();
      }
      return null;
   }
   public static void main(String[] args) {
      launch();
   }
}
出力

Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?


  1. Javaを使用してOpenCVでガウスぼかしを実装するにはどうすればよいですか?

    ローパスフィルターを使用して画像をフィルタリングすることで画像をぼかすことができます。これにより、画像から高周波コンテンツ(ノイズ、エッジ)が削除されます。 ガウスぼかしは、OpenCVが提供するぼかし手法の1つであり、画像のノイズを除去するのに非常に効率的です。これにより、中央の要素がカーネル領域のすべてのピクセルの平均に置き換えられます。 GaussianBlur()を使用して、この手法で画像をフィルタリング/ぼかしできます。 メソッド、このメソッドは-を受け入れます ソース画像と宛先画像を表す2つのMatオブジェクト。 カーネルのサイズを表すSizeオブジェクト。

  2. Javaを使用してOpenCVでブラー(平均化)を実装するにはどうすればよいですか?

    ローパスフィルターを使用して画像をフィルタリングすることで画像をぼかすことができます。これにより、画像から高周波コンテンツ(ノイズ、エッジ)が削除されます。 平均化は、OpenCVによって提供されるぼかし手法の1つであり、これにより、中央の要素がカーネル領域内のすべてのピクセルの平均に置き換えられます。 blur()を使用して、この手法で画像をフィルタリング/ぼかしできます。 または、 boxFilter() メソッド、 blur() メソッドは-を受け入れます ソース画像と宛先画像を表す2つのMatオブジェクト。 カーネルのサイズを表すSizeオブジェクト。 アンカー