JavaFXでパス要素(直線)を作成する方法
javafx.scene.shape.LineTo クラスは、パス要素のひとつである line(直線) を表します。このクラスを使うと、現在の座標から指定した新しい座標まで、まっすぐな線を描画できます。
直線のパス要素を作成するには、以下の手順に従います。
LineTo クラスをインスタンス化します。
セッターメソッドを使用するか、コンストラクタに値を渡すことで、このクラスのプロパティに値を設定します。
Path クラスをインスタンス化します。
getElements() メソッドを使って、作成した Path の ObservableList オブジェクトを取得します。
add() メソッドを使って、先ほど作成した LineTo オブジェクトを ObservableList に追加します。
最後に、パスを Group オブジェクトに追加します。
サンプルコード
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class LineToExample extends Application {
public void start(Stage stage) {
// パス要素オブジェクトの作成
MoveTo moveTo = new MoveTo(208, 71);
LineTo line1 = new LineTo(421, 161);
LineTo line2 = new LineTo(226,232);
LineTo line3 = new LineTo(332,52);
// パスの作成
Path path = new Path();
path.getElements().addAll(moveTo, line1, line2, line3);
// その他のプロパティ設定
path.setStrokeWidth(8.0);
path.setStroke(Color.DARKSLATEGREY);
// Stageオブジェクトの準備
Group root = new Group(path);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("JavaFX Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
このサンプルでは、まず MoveTo で描画開始点を指定し、その後複数の LineTo を組み合わせることで、星形のような折れ線グラフィックを描いています。setStrokeWidth() メソッドで線の太さを、setStroke() メソッドで線の色をそれぞれ設定できる点にも注目してください。
実行結果

-
【JavaFX】2つのつまみを持つスライダー(RangeSlider)を作成する方法
スライダーとは、連続した値の範囲を視覚的に表示するためのUIコンポーネントです。トラック上には数値が表示されており、その値を指し示す「つまみ(サム)」がトラックに沿って移動します。スライダーには最大値・最小値・初期値を自由に設定することができます。 標準のJavaFXスライダーの限界 JavaFXが標準で提供するスライダーには、つまみは1つしかありません。最小値と最大値の両方を選択できる「2つのつまみを持つスライダー」を作成したい場合は、外部ライブラリである org.controlsfx.control を利用する必要があります。 手順1:Maven依存関係を追加する このライブラリを使用す
-
Tkinterのfiledialogでファイルパス(初期ディレクトリ)を指定する方法
Tkinterには、アプリケーションのUIコンポーネントやユーザー操作用の要素を構築するための組み込み関数やクラスライブラリが数多く用意されています。その中でもfiledialogモジュールは、ファイルやディレクトリを選択するウィンドウを作成するためのクラスと関数を提供しています。ユーザーにシステム上のファイルやフォルダをブラウズしてもらいたい場面で非常に便利です。 さらに、ファイルを選択させるときの起点となるディレクトリの場所を指定することもできます。特定の場所から始まるファイルダイアログを表示するには、静的ファクトリ関数askopenfilename(initialdir=<loc