リビジョン 938b6680
| AnalogClockSvg/src/analogclocksvg/AnalogClockSvg.java | ||
|---|---|---|
|
*/
|
||
|
package analogclocksvg;
|
||
|
|
||
|
import java.util.Map;
|
||
|
import java.util.ResourceBundle;
|
||
|
import javafx.application.Application;
|
||
|
import javafx.application.Platform;
|
||
| ... | ... | |
|
private static final double INITIAL_WINDOW_SIZE = 200d;
|
||
|
private static final double MAX_SCALE = 6d;
|
||
|
private static final double MIN_SCALE = 0.32;
|
||
|
|
||
|
|
||
|
private double dragStartX;
|
||
|
private double dragStartY;
|
||
|
private ContextMenu popup = new ContextMenu();
|
||
| ... | ... | |
|
|
||
|
@Override
|
||
|
public void start(Stage primaryStage) throws Exception {
|
||
|
parseParameters();
|
||
|
bundle = ResourceBundle.getBundle(getClass().getName());
|
||
|
root = FXMLLoader.load(getClass().getResource("AnalogClock.fxml"), bundle);
|
||
|
Scene scene = new Scene(root, INITIAL_WINDOW_SIZE, INITIAL_WINDOW_SIZE, Color.TRANSPARENT);
|
||
| ... | ... | |
|
launch(args);
|
||
|
}
|
||
|
|
||
|
private void parseParameters() {
|
||
|
Map<String, String> params = getParameters().getNamed();
|
||
|
Platform.runLater(() -> zoom(Double.valueOf(params.getOrDefault("scale", "1.0"))));
|
||
|
Platform.runLater(() -> stage.setX(Double.valueOf(params.getOrDefault("x", "0.0"))));
|
||
|
Platform.runLater(() -> stage.setY(Double.valueOf(params.getOrDefault("y", "0.0"))));
|
||
|
}
|
||
|
|
||
|
}
|
||
コマンドライン引数の対応
表示位置の指定をしない場合は、従来の画面中央ではなく画面左上(0, 0)に表示