プロジェクト

全般

プロフィール

ダウンロード (2.12 KB) 統計
| ブランチ: | タグ: | リビジョン:
dcb5e6b3 TAKAHASHI, Toru
/*
* Copyright © 2014 TAKAHASHI,Toru
*/
package analogclocksvg;

import javafx.application.Application;
31775330 TAKAHASHI, Toru
import javafx.application.Platform;
dcb5e6b3 TAKAHASHI, Toru
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
31775330 TAKAHASHI, Toru
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.input.MouseButton;
5194b17a TAKAHASHI, Toru
import javafx.scene.paint.Color;
dcb5e6b3 TAKAHASHI, Toru
import javafx.stage.Stage;
5194b17a TAKAHASHI, Toru
import javafx.stage.StageStyle;
dcb5e6b3 TAKAHASHI, Toru
/**
*
* @author TAKAHASHI,Toru
*/
public class AnalogClockSvg extends Application {

5194b17a TAKAHASHI, Toru
private double dragStartX;
private double dragStartY;
31775330 TAKAHASHI, Toru
private ContextMenu popup = new ContextMenu();
5194b17a TAKAHASHI, Toru
dcb5e6b3 TAKAHASHI, Toru
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("AnalogClock.fxml"));
5194b17a TAKAHASHI, Toru
Scene scene = new Scene(root, 200, 200, Color.TRANSPARENT);
512a6aa9 TAKAHASHI, Toru
// マウスのドラッグ操作でウィンドウを移動
5194b17a TAKAHASHI, Toru
scene.setOnMousePressed(e -> {
dragStartX = e.getSceneX();
dragStartY = e.getSceneY();
});
scene.setOnMouseDragged(e -> {
stage.setX(e.getScreenX() - dragStartX);
stage.setY(e.getScreenY() - dragStartY);
});
512a6aa9 TAKAHASHI, Toru
// マウスのホイール操作でウィンドウサイズを変更
scene.setOnScroll(e -> {
double scaleFactor = e.getDeltaY() > 0 ? 1.1 : 0.9;
root.setScaleX(root.getScaleX() * scaleFactor);
root.setScaleY(root.getScaleY() * scaleFactor);
});
// 右クリックでポップアップメニュー
31775330 TAKAHASHI, Toru
MenuItem exitItem = new MenuItem("exit");
exitItem.setOnAction(e -> Platform.exit());
popup.getItems().add(exitItem);
scene.setOnMouseClicked(e -> {
if (e.getButton() == MouseButton.SECONDARY) {
popup.show(stage, e.getScreenX(), e.getScreenY());
}
});

5194b17a TAKAHASHI, Toru
stage.initStyle(StageStyle.TRANSPARENT);
dcb5e6b3 TAKAHASHI, Toru
stage.setScene(scene);
stage.show();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}

}